{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 94,
   "id": "85d99446-3373-4413-a2e1-4c234e6a203b",
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\n",
      "Collecting matplotlib\n",
      "  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/17/91/febbb6c1063ae05a62fdbe038c2917b348b1b35f0482cee4738e6870a44a/matplotlib-3.9.0-cp312-cp312-win_amd64.whl (8.0 MB)\n",
      "     ---------------------------------------- 0.0/8.0 MB ? eta -:--:--\n",
      "     ---------------------------------------- 0.0/8.0 MB 660.6 kB/s eta 0:00:13\n",
      "     ---------------------------------------- 0.0/8.0 MB 660.6 kB/s eta 0:00:13\n",
      "     ---------------------------------------- 0.0/8.0 MB 660.6 kB/s eta 0:00:13\n",
      "     ---------------------------------------- 0.0/8.0 MB 660.6 kB/s eta 0:00:13\n",
      "     ---------------------------------------- 0.0/8.0 MB 660.6 kB/s eta 0:00:13\n",
      "      --------------------------------------- 0.1/8.0 MB 437.6 kB/s eta 0:00:18\n",
      "      --------------------------------------- 0.1/8.0 MB 380.5 kB/s eta 0:00:21\n",
      "      --------------------------------------- 0.1/8.0 MB 405.9 kB/s eta 0:00:20\n",
      "      --------------------------------------- 0.2/8.0 MB 403.5 kB/s eta 0:00:20\n",
      "      --------------------------------------- 0.2/8.0 MB 403.5 kB/s eta 0:00:20\n",
      "     - -------------------------------------- 0.2/8.0 MB 430.1 kB/s eta 0:00:19\n",
      "     - -------------------------------------- 0.2/8.0 MB 437.4 kB/s eta 0:00:18\n",
      "     - -------------------------------------- 0.2/8.0 MB 437.4 kB/s eta 0:00:18\n",
      "     - -------------------------------------- 0.2/8.0 MB 437.4 kB/s eta 0:00:18\n",
      "     - -------------------------------------- 0.2/8.0 MB 437.4 kB/s eta 0:00:18\n",
      "     - -------------------------------------- 0.2/8.0 MB 437.4 kB/s eta 0:00:18\n",
      "     - -------------------------------------- 0.3/8.0 MB 368.6 kB/s eta 0:00:21\n",
      "     - -------------------------------------- 0.3/8.0 MB 365.7 kB/s eta 0:00:21\n",
      "     - -------------------------------------- 0.3/8.0 MB 381.5 kB/s eta 0:00:21\n",
      "     - -------------------------------------- 0.4/8.0 MB 391.2 kB/s eta 0:00:20\n",
      "     - -------------------------------------- 0.4/8.0 MB 391.2 kB/s eta 0:00:20\n",
      "     -- ------------------------------------- 0.4/8.0 MB 409.6 kB/s eta 0:00:19\n",
      "     -- ------------------------------------- 0.4/8.0 MB 417.1 kB/s eta 0:00:19\n",
      "     -- ------------------------------------- 0.4/8.0 MB 417.1 kB/s eta 0:00:19\n",
      "     -- ------------------------------------- 0.5/8.0 MB 431.2 kB/s eta 0:00:18\n",
      "     -- ------------------------------------- 0.5/8.0 MB 431.2 kB/s eta 0:00:18\n",
      "     -- ------------------------------------- 0.5/8.0 MB 414.9 kB/s eta 0:00:18\n",
      "     -- ------------------------------------- 0.6/8.0 MB 418.8 kB/s eta 0:00:18\n",
      "     -- ------------------------------------- 0.6/8.0 MB 418.8 kB/s eta 0:00:18\n",
      "     -- ------------------------------------- 0.6/8.0 MB 411.7 kB/s eta 0:00:18\n",
      "     --- ------------------------------------ 0.6/8.0 MB 444.3 kB/s eta 0:00:17\n",
      "     --- ------------------------------------ 0.6/8.0 MB 441.8 kB/s eta 0:00:17\n",
      "     --- ------------------------------------ 0.6/8.0 MB 441.8 kB/s eta 0:00:17\n",
      "     --- ------------------------------------ 0.7/8.0 MB 457.0 kB/s eta 0:00:16\n",
      "     --- ------------------------------------ 0.7/8.0 MB 457.0 kB/s eta 0:00:16\n",
      "     --- ------------------------------------ 0.7/8.0 MB 457.0 kB/s eta 0:00:16\n",
      "     --- ------------------------------------ 0.7/8.0 MB 457.0 kB/s eta 0:00:16\n",
      "     --- ------------------------------------ 0.7/8.0 MB 413.4 kB/s eta 0:00:18\n",
      "     --- ------------------------------------ 0.7/8.0 MB 410.5 kB/s eta 0:00:18\n",
      "     --- ------------------------------------ 0.7/8.0 MB 410.5 kB/s eta 0:00:18\n",
      "     ---- ----------------------------------- 0.8/8.0 MB 420.5 kB/s eta 0:00:18\n",
      "     ---- ----------------------------------- 0.8/8.0 MB 420.5 kB/s eta 0:00:18\n",
      "     ---- ----------------------------------- 0.8/8.0 MB 405.9 kB/s eta 0:00:18\n",
      "     ---- ----------------------------------- 0.8/8.0 MB 409.6 kB/s eta 0:00:18\n",
      "     ---- ----------------------------------- 0.8/8.0 MB 409.6 kB/s eta 0:00:18\n",
      "     ---- ----------------------------------- 0.8/8.0 MB 395.1 kB/s eta 0:00:19\n",
      "     ---- ----------------------------------- 0.9/8.0 MB 411.5 kB/s eta 0:00:18\n",
      "     ---- ----------------------------------- 0.9/8.0 MB 409.0 kB/s eta 0:00:18\n",
      "     ---- ----------------------------------- 1.0/8.0 MB 431.0 kB/s eta 0:00:17\n",
      "     ----- ---------------------------------- 1.0/8.0 MB 438.5 kB/s eta 0:00:16\n",
      "     ----- ---------------------------------- 1.1/8.0 MB 442.8 kB/s eta 0:00:16\n",
      "     ----- ---------------------------------- 1.1/8.0 MB 451.1 kB/s eta 0:00:16\n",
      "     ----- ---------------------------------- 1.1/8.0 MB 451.1 kB/s eta 0:00:16\n",
      "     ----- ---------------------------------- 1.1/8.0 MB 451.1 kB/s eta 0:00:16\n",
      "     ----- ---------------------------------- 1.2/8.0 MB 462.5 kB/s eta 0:00:15\n",
      "     ----- ---------------------------------- 1.2/8.0 MB 462.5 kB/s eta 0:00:15\n",
      "     ------ --------------------------------- 1.3/8.0 MB 477.1 kB/s eta 0:00:15\n",
      "     ------ --------------------------------- 1.3/8.0 MB 477.1 kB/s eta 0:00:15\n",
      "     ------ --------------------------------- 1.3/8.0 MB 477.1 kB/s eta 0:00:15\n",
      "     ------ --------------------------------- 1.3/8.0 MB 477.1 kB/s eta 0:00:15\n",
      "     ------ --------------------------------- 1.3/8.0 MB 477.1 kB/s eta 0:00:15\n",
      "     ------ --------------------------------- 1.3/8.0 MB 477.1 kB/s eta 0:00:15\n",
      "     ------ --------------------------------- 1.3/8.0 MB 453.5 kB/s eta 0:00:15\n",
      "     ------ --------------------------------- 1.4/8.0 MB 458.9 kB/s eta 0:00:15\n",
      "     ------- -------------------------------- 1.4/8.0 MB 461.9 kB/s eta 0:00:15\n",
      "     ------- -------------------------------- 1.4/8.0 MB 468.2 kB/s eta 0:00:14\n",
      "     ------- -------------------------------- 1.5/8.0 MB 467.7 kB/s eta 0:00:14\n",
      "     ------- -------------------------------- 1.5/8.0 MB 473.7 kB/s eta 0:00:14\n",
      "     ------- -------------------------------- 1.5/8.0 MB 473.7 kB/s eta 0:00:14\n",
      "     ------- -------------------------------- 1.5/8.0 MB 473.7 kB/s eta 0:00:14\n",
      "     ------- -------------------------------- 1.6/8.0 MB 478.4 kB/s eta 0:00:14\n",
      "     ------- -------------------------------- 1.6/8.0 MB 478.4 kB/s eta 0:00:14\n",
      "     -------- ------------------------------- 1.7/8.0 MB 489.3 kB/s eta 0:00:13\n",
      "     -------- ------------------------------- 1.7/8.0 MB 489.3 kB/s eta 0:00:13\n",
      "     -------- ------------------------------- 1.7/8.0 MB 487.2 kB/s eta 0:00:13\n",
      "     -------- ------------------------------- 1.8/8.0 MB 497.4 kB/s eta 0:00:13\n",
      "     -------- ------------------------------- 1.8/8.0 MB 497.4 kB/s eta 0:00:13\n",
      "     --------- ------------------------------ 1.8/8.0 MB 505.0 kB/s eta 0:00:13\n",
      "     --------- ------------------------------ 1.8/8.0 MB 505.0 kB/s eta 0:00:13\n",
      "     --------- ------------------------------ 1.8/8.0 MB 505.0 kB/s eta 0:00:13\n",
      "     --------- ------------------------------ 1.8/8.0 MB 505.0 kB/s eta 0:00:13\n",
      "     --------- ------------------------------ 1.9/8.0 MB 488.9 kB/s eta 0:00:13\n",
      "     --------- ------------------------------ 1.9/8.0 MB 496.2 kB/s eta 0:00:13\n",
      "     --------- ------------------------------ 1.9/8.0 MB 496.2 kB/s eta 0:00:13\n",
      "     --------- ------------------------------ 2.0/8.0 MB 499.4 kB/s eta 0:00:12\n",
      "     --------- ------------------------------ 2.0/8.0 MB 499.4 kB/s eta 0:00:12\n",
      "     ---------- ----------------------------- 2.1/8.0 MB 508.1 kB/s eta 0:00:12\n",
      "     ---------- ----------------------------- 2.1/8.0 MB 516.8 kB/s eta 0:00:12\n",
      "     ---------- ----------------------------- 2.1/8.0 MB 516.3 kB/s eta 0:00:12\n",
      "     ----------- ---------------------------- 2.2/8.0 MB 525.4 kB/s eta 0:00:11\n",
      "     ----------- ---------------------------- 2.2/8.0 MB 525.4 kB/s eta 0:00:11\n",
      "     ----------- ---------------------------- 2.2/8.0 MB 525.4 kB/s eta 0:00:11\n",
      "     ----------- ---------------------------- 2.2/8.0 MB 519.6 kB/s eta 0:00:12\n",
      "     ----------- ---------------------------- 2.3/8.0 MB 533.3 kB/s eta 0:00:11\n",
      "     ----------- ---------------------------- 2.4/8.0 MB 536.0 kB/s eta 0:00:11\n",
      "     ----------- ---------------------------- 2.4/8.0 MB 536.0 kB/s eta 0:00:11\n",
      "     ----------- ---------------------------- 2.4/8.0 MB 536.0 kB/s eta 0:00:11\n",
      "     ----------- ---------------------------- 2.4/8.0 MB 536.0 kB/s eta 0:00:11\n",
      "     ----------- ---------------------------- 2.4/8.0 MB 517.2 kB/s eta 0:00:11\n",
      "     ------------ --------------------------- 2.5/8.0 MB 549.1 kB/s eta 0:00:10\n",
      "     ------------ --------------------------- 2.5/8.0 MB 549.1 kB/s eta 0:00:10\n",
      "     ------------- -------------------------- 2.6/8.0 MB 553.7 kB/s eta 0:00:10\n",
      "     ------------- -------------------------- 2.7/8.0 MB 556.6 kB/s eta 0:00:10\n",
      "     ------------- -------------------------- 2.7/8.0 MB 556.6 kB/s eta 0:00:10\n",
      "     ------------- -------------------------- 2.7/8.0 MB 556.6 kB/s eta 0:00:10\n",
      "     ------------- -------------------------- 2.7/8.0 MB 556.6 kB/s eta 0:00:10\n",
      "     ------------- -------------------------- 2.7/8.0 MB 556.6 kB/s eta 0:00:10\n",
      "     -------------- ------------------------- 2.8/8.0 MB 563.8 kB/s eta 0:00:10\n",
      "     -------------- ------------------------- 2.9/8.0 MB 562.4 kB/s eta 0:00:10\n",
      "     -------------- ------------------------- 2.9/8.0 MB 562.4 kB/s eta 0:00:10\n",
      "     -------------- ------------------------- 2.9/8.0 MB 562.4 kB/s eta 0:00:10\n",
      "     -------------- ------------------------- 2.9/8.0 MB 562.4 kB/s eta 0:00:10\n",
      "     --------------- ------------------------ 3.0/8.0 MB 573.2 kB/s eta 0:00:09\n",
      "     --------------- ------------------------ 3.0/8.0 MB 572.3 kB/s eta 0:00:09\n",
      "     --------------- ------------------------ 3.1/8.0 MB 574.5 kB/s eta 0:00:09\n",
      "     --------------- ------------------------ 3.1/8.0 MB 574.5 kB/s eta 0:00:09\n",
      "     --------------- ------------------------ 3.1/8.0 MB 574.5 kB/s eta 0:00:09\n",
      "     --------------- ------------------------ 3.1/8.0 MB 571.4 kB/s eta 0:00:09\n",
      "     --------------- ------------------------ 3.1/8.0 MB 571.4 kB/s eta 0:00:09\n",
      "     --------------- ------------------------ 3.2/8.0 MB 567.3 kB/s eta 0:00:09\n",
      "     ---------------- ----------------------- 3.3/8.0 MB 588.0 kB/s eta 0:00:08\n",
      "     ---------------- ----------------------- 3.3/8.0 MB 590.2 kB/s eta 0:00:08\n",
      "     ----------------- ---------------------- 3.4/8.0 MB 592.8 kB/s eta 0:00:08\n",
      "     ----------------- ---------------------- 3.4/8.0 MB 594.8 kB/s eta 0:00:08\n",
      "     ----------------- ---------------------- 3.4/8.0 MB 594.8 kB/s eta 0:00:08\n",
      "     ----------------- ---------------------- 3.4/8.0 MB 594.8 kB/s eta 0:00:08\n",
      "     ----------------- ---------------------- 3.4/8.0 MB 594.8 kB/s eta 0:00:08\n",
      "     ----------------- ---------------------- 3.6/8.0 MB 596.9 kB/s eta 0:00:08\n",
      "     ----------------- ---------------------- 3.6/8.0 MB 596.9 kB/s eta 0:00:08\n",
      "     ------------------ --------------------- 3.6/8.0 MB 602.7 kB/s eta 0:00:08\n",
      "     ------------------ --------------------- 3.6/8.0 MB 602.7 kB/s eta 0:00:08\n",
      "     ------------------ --------------------- 3.6/8.0 MB 602.7 kB/s eta 0:00:08\n",
      "     ------------------ --------------------- 3.7/8.0 MB 602.2 kB/s eta 0:00:08\n",
      "     ------------------ --------------------- 3.7/8.0 MB 602.2 kB/s eta 0:00:08\n",
      "     ------------------ --------------------- 3.7/8.0 MB 602.2 kB/s eta 0:00:08\n",
      "     ------------------ --------------------- 3.7/8.0 MB 602.2 kB/s eta 0:00:08\n",
      "     ------------------ --------------------- 3.8/8.0 MB 590.9 kB/s eta 0:00:08\n",
      "     ------------------ --------------------- 3.8/8.0 MB 588.2 kB/s eta 0:00:08\n",
      "     ------------------ --------------------- 3.8/8.0 MB 588.2 kB/s eta 0:00:08\n",
      "     ------------------ --------------------- 3.8/8.0 MB 588.2 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.8/8.0 MB 580.1 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.8/8.0 MB 577.5 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.8/8.0 MB 577.5 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.8/8.0 MB 572.6 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.8/8.0 MB 572.6 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.8/8.0 MB 566.1 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 565.2 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 564.3 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 559.5 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 559.5 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 556.2 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 556.2 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     ------------------- -------------------- 3.9/8.0 MB 549.0 kB/s eta 0:00:08\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.0/8.0 MB 488.1 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.1/8.0 MB 457.6 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.1/8.0 MB 457.6 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.1/8.0 MB 457.6 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.1/8.0 MB 457.6 kB/s eta 0:00:09\n",
      "     -------------------- ------------------- 4.1/8.0 MB 457.6 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.2/8.0 MB 462.7 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.2/8.0 MB 459.9 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.2/8.0 MB 459.9 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.3/8.0 MB 458.2 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.3/8.0 MB 458.2 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.3/8.0 MB 456.6 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.3/8.0 MB 453.9 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.3/8.0 MB 453.9 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.3/8.0 MB 453.1 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.3/8.0 MB 451.9 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.4/8.0 MB 451.1 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.4/8.0 MB 451.1 kB/s eta 0:00:09\n",
      "     --------------------- ------------------ 4.4/8.0 MB 449.6 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.4/8.0 MB 447.0 kB/s eta 0:00:09\n",
      "     ---------------------- ----------------- 4.4/8.0 MB 447.0 kB/s eta 0:00:09\n",
      "     ---------------------- ----------------- 4.4/8.0 MB 445.6 kB/s eta 0:00:09\n",
      "     ---------------------- ----------------- 4.4/8.0 MB 445.2 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.4/8.0 MB 445.2 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.4/8.0 MB 443.8 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.5/8.0 MB 442.4 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.5/8.0 MB 440.6 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.5/8.0 MB 440.6 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.5/8.0 MB 439.3 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.5/8.0 MB 439.3 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.5/8.0 MB 437.6 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.5/8.0 MB 437.6 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.5/8.0 MB 434.9 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.5/8.0 MB 433.7 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.5/8.0 MB 433.7 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.5/8.0 MB 432.7 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.6/8.0 MB 432.7 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.6/8.0 MB 430.5 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.6/8.0 MB 430.5 kB/s eta 0:00:08\n",
      "     ---------------------- ----------------- 4.6/8.0 MB 430.5 kB/s eta 0:00:08\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 427.4 kB/s eta 0:00:08\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 427.4 kB/s eta 0:00:08\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 427.4 kB/s eta 0:00:08\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 427.4 kB/s eta 0:00:08\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 427.4 kB/s eta 0:00:08\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 427.4 kB/s eta 0:00:08\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 427.4 kB/s eta 0:00:08\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 417.5 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 417.5 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 417.5 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 413.5 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 413.5 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 413.5 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.6/8.0 MB 413.5 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.7/8.0 MB 408.7 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.7/8.0 MB 408.7 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.7/8.0 MB 406.0 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.7/8.0 MB 406.0 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.7/8.0 MB 404.5 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.7/8.0 MB 404.5 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.7/8.0 MB 403.2 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.7/8.0 MB 402.9 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.7/8.0 MB 402.6 kB/s eta 0:00:09\n",
      "     ----------------------- ---------------- 4.8/8.0 MB 402.8 kB/s eta 0:00:08\n",
      "     ----------------------- ---------------- 4.8/8.0 MB 402.8 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 4.8/8.0 MB 401.3 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 4.8/8.0 MB 400.6 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 4.8/8.0 MB 400.7 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 4.8/8.0 MB 400.7 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 4.9/8.0 MB 401.4 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 4.9/8.0 MB 400.7 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 4.9/8.0 MB 400.8 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 4.9/8.0 MB 400.1 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 4.9/8.0 MB 400.1 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 4.9/8.0 MB 398.2 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 4.9/8.0 MB 398.2 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 4.9/8.0 MB 398.2 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 5.0/8.0 MB 396.7 kB/s eta 0:00:08\n",
      "     ------------------------ --------------- 5.0/8.0 MB 397.3 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.0/8.0 MB 396.2 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.0/8.0 MB 396.2 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.0/8.0 MB 396.2 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.0/8.0 MB 395.0 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.0/8.0 MB 395.0 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.0/8.0 MB 395.0 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.0/8.0 MB 395.0 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.0/8.0 MB 395.0 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.1/8.0 MB 391.0 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.1/8.0 MB 390.7 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.1/8.0 MB 390.7 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.1/8.0 MB 390.3 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.1/8.0 MB 390.3 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.1/8.0 MB 390.0 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.1/8.0 MB 390.0 kB/s eta 0:00:08\n",
      "     ------------------------- -------------- 5.1/8.0 MB 390.0 kB/s eta 0:00:08\n",
      "     -------------------------- ------------- 5.2/8.0 MB 388.8 kB/s eta 0:00:08\n",
      "     -------------------------- ------------- 5.2/8.0 MB 388.8 kB/s eta 0:00:08\n",
      "     -------------------------- ------------- 5.2/8.0 MB 388.8 kB/s eta 0:00:08\n",
      "     -------------------------- ------------- 5.2/8.0 MB 388.2 kB/s eta 0:00:08\n",
      "     -------------------------- ------------- 5.3/8.0 MB 388.8 kB/s eta 0:00:07\n",
      "     -------------------------- ------------- 5.3/8.0 MB 389.0 kB/s eta 0:00:07\n",
      "     -------------------------- ------------- 5.3/8.0 MB 388.4 kB/s eta 0:00:07\n",
      "     -------------------------- ------------- 5.3/8.0 MB 388.6 kB/s eta 0:00:07\n",
      "     -------------------------- ------------- 5.3/8.0 MB 388.4 kB/s eta 0:00:07\n",
      "     -------------------------- ------------- 5.3/8.0 MB 388.4 kB/s eta 0:00:07\n",
      "     -------------------------- ------------- 5.4/8.0 MB 388.7 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.4/8.0 MB 388.8 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.4/8.0 MB 388.2 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.4/8.0 MB 388.2 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.4/8.0 MB 387.5 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.4/8.0 MB 387.2 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.4/8.0 MB 387.2 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.4/8.0 MB 385.4 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.4/8.0 MB 385.4 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.5/8.0 MB 385.1 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.5/8.0 MB 384.2 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.5/8.0 MB 384.2 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.5/8.0 MB 383.5 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.5/8.0 MB 383.5 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.5/8.0 MB 382.4 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.5/8.0 MB 382.4 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.5/8.0 MB 380.6 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.6/8.0 MB 380.0 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.6/8.0 MB 380.0 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.6/8.0 MB 378.7 kB/s eta 0:00:07\n",
      "     --------------------------- ------------ 5.6/8.0 MB 378.7 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 378.1 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 377.5 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 377.5 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.8 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.8 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.2 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.2 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.2 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.2 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.2 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.2 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.2 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.2 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.2 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.2 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.6/8.0 MB 375.2 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.7/8.0 MB 364.3 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.7/8.0 MB 364.3 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.7/8.0 MB 364.3 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.7/8.0 MB 364.3 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.7/8.0 MB 364.3 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.7/8.0 MB 364.3 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.7/8.0 MB 363.0 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.8/8.0 MB 364.0 kB/s eta 0:00:07\n",
      "     ---------------------------- ----------- 5.8/8.0 MB 363.2 kB/s eta 0:00:07\n",
      "     ----------------------------- ---------- 5.8/8.0 MB 363.7 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.8/8.0 MB 362.6 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.8/8.0 MB 362.6 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.8/8.0 MB 362.5 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.8/8.0 MB 362.3 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 361.9 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 361.9 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 361.8 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 360.7 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 360.7 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 360.2 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 360.2 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 359.4 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 359.4 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 359.4 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 359.4 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 355.6 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 355.6 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 355.6 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 5.9/8.0 MB 355.6 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 6.0/8.0 MB 352.9 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 6.0/8.0 MB 352.9 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 6.0/8.0 MB 352.9 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 6.0/8.0 MB 350.3 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 6.0/8.0 MB 350.3 kB/s eta 0:00:06\n",
      "     ----------------------------- ---------- 6.0/8.0 MB 350.3 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.0/8.0 MB 349.2 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.0/8.0 MB 349.2 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.0/8.0 MB 348.2 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.0/8.0 MB 348.2 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.0/8.0 MB 346.9 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.0/8.0 MB 346.9 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.0/8.0 MB 346.5 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.0/8.0 MB 346.5 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 345.2 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 345.2 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 345.2 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 345.2 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 345.2 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 341.8 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 342.1 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 342.1 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 340.9 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 340.9 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 340.2 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 340.2 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.1/8.0 MB 339.3 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.2/8.0 MB 339.0 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.2/8.0 MB 339.0 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.2/8.0 MB 338.4 kB/s eta 0:00:06\n",
      "     ------------------------------ --------- 6.2/8.0 MB 338.4 kB/s eta 0:00:06\n",
      "     ------------------------------- -------- 6.2/8.0 MB 337.8 kB/s eta 0:00:06\n",
      "     ------------------------------- -------- 6.2/8.0 MB 337.7 kB/s eta 0:00:06\n",
      "     ------------------------------- -------- 6.2/8.0 MB 337.4 kB/s eta 0:00:06\n",
      "     ------------------------------- -------- 6.2/8.0 MB 337.7 kB/s eta 0:00:06\n",
      "     ------------------------------- -------- 6.3/8.0 MB 337.9 kB/s eta 0:00:06\n",
      "     ------------------------------- -------- 6.3/8.0 MB 337.6 kB/s eta 0:00:06\n",
      "     ------------------------------- -------- 6.3/8.0 MB 337.6 kB/s eta 0:00:06\n",
      "     ------------------------------- -------- 6.3/8.0 MB 337.6 kB/s eta 0:00:06\n",
      "     ------------------------------- -------- 6.3/8.0 MB 337.6 kB/s eta 0:00:06\n",
      "     ------------------------------- -------- 6.3/8.0 MB 337.6 kB/s eta 0:00:06\n",
      "     ------------------------------- -------- 6.3/8.0 MB 334.8 kB/s eta 0:00:06\n",
      "     ------------------------------- -------- 6.3/8.0 MB 335.6 kB/s eta 0:00:05\n",
      "     ------------------------------- -------- 6.3/8.0 MB 335.8 kB/s eta 0:00:05\n",
      "     ------------------------------- -------- 6.3/8.0 MB 335.3 kB/s eta 0:00:05\n",
      "     ------------------------------- -------- 6.4/8.0 MB 335.5 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.4/8.0 MB 335.2 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.4/8.0 MB 335.5 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.4/8.0 MB 335.7 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.4/8.0 MB 335.2 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.4/8.0 MB 335.2 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.5/8.0 MB 335.2 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.5/8.0 MB 334.9 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.5/8.0 MB 334.8 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.5/8.0 MB 334.8 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.5/8.0 MB 335.1 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.5/8.0 MB 335.1 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.5/8.0 MB 334.8 kB/s eta 0:00:05\n",
      "     -------------------------------- ------- 6.6/8.0 MB 335.3 kB/s eta 0:00:05\n",
      "     --------------------------------- ------ 6.6/8.0 MB 335.3 kB/s eta 0:00:05\n",
      "     --------------------------------- ------ 6.6/8.0 MB 335.0 kB/s eta 0:00:05\n",
      "     --------------------------------- ------ 6.6/8.0 MB 335.5 kB/s eta 0:00:05\n",
      "     --------------------------------- ------ 6.6/8.0 MB 335.2 kB/s eta 0:00:04\n",
      "     --------------------------------- ------ 6.7/8.0 MB 336.2 kB/s eta 0:00:04\n",
      "     --------------------------------- ------ 6.7/8.0 MB 335.9 kB/s eta 0:00:04\n",
      "     --------------------------------- ------ 6.7/8.0 MB 336.7 kB/s eta 0:00:04\n",
      "     --------------------------------- ------ 6.7/8.0 MB 336.9 kB/s eta 0:00:04\n",
      "     --------------------------------- ------ 6.7/8.0 MB 337.4 kB/s eta 0:00:04\n",
      "     ---------------------------------- ----- 6.8/8.0 MB 337.9 kB/s eta 0:00:04\n",
      "     ---------------------------------- ----- 6.8/8.0 MB 337.9 kB/s eta 0:00:04\n",
      "     ---------------------------------- ----- 6.8/8.0 MB 338.9 kB/s eta 0:00:04\n",
      "     ---------------------------------- ----- 6.9/8.0 MB 339.4 kB/s eta 0:00:04\n",
      "     ---------------------------------- ----- 6.9/8.0 MB 339.6 kB/s eta 0:00:04\n",
      "     ---------------------------------- ----- 6.9/8.0 MB 340.3 kB/s eta 0:00:04\n",
      "     ---------------------------------- ----- 6.9/8.0 MB 340.3 kB/s eta 0:00:04\n",
      "     ---------------------------------- ----- 7.0/8.0 MB 340.7 kB/s eta 0:00:03\n",
      "     ----------------------------------- ---- 7.0/8.0 MB 341.2 kB/s eta 0:00:03\n",
      "     ----------------------------------- ---- 7.0/8.0 MB 341.9 kB/s eta 0:00:03\n",
      "     ----------------------------------- ---- 7.0/8.0 MB 342.2 kB/s eta 0:00:03\n",
      "     ----------------------------------- ---- 7.1/8.0 MB 342.6 kB/s eta 0:00:03\n",
      "     ----------------------------------- ---- 7.1/8.0 MB 343.1 kB/s eta 0:00:03\n",
      "     ----------------------------------- ---- 7.1/8.0 MB 343.1 kB/s eta 0:00:03\n",
      "     ----------------------------------- ---- 7.1/8.0 MB 343.5 kB/s eta 0:00:03\n",
      "     ----------------------------------- ---- 7.1/8.0 MB 343.7 kB/s eta 0:00:03\n",
      "     ----------------------------------- ---- 7.2/8.0 MB 344.4 kB/s eta 0:00:03\n",
      "     ------------------------------------ --- 7.2/8.0 MB 344.9 kB/s eta 0:00:03\n",
      "     ------------------------------------ --- 7.2/8.0 MB 345.3 kB/s eta 0:00:03\n",
      "     ------------------------------------ --- 7.2/8.0 MB 345.8 kB/s eta 0:00:03\n",
      "     ------------------------------------ --- 7.2/8.0 MB 345.3 kB/s eta 0:00:03\n",
      "     ------------------------------------ --- 7.3/8.0 MB 346.0 kB/s eta 0:00:02\n",
      "     ------------------------------------ --- 7.3/8.0 MB 346.9 kB/s eta 0:00:02\n",
      "     ------------------------------------ --- 7.3/8.0 MB 346.8 kB/s eta 0:00:02\n",
      "     ------------------------------------ --- 7.3/8.0 MB 346.8 kB/s eta 0:00:02\n",
      "     ------------------------------------ --- 7.3/8.0 MB 346.8 kB/s eta 0:00:02\n",
      "     ------------------------------------ --- 7.4/8.0 MB 346.0 kB/s eta 0:00:02\n",
      "     ------------------------------------ --- 7.4/8.0 MB 346.0 kB/s eta 0:00:02\n",
      "     ------------------------------------- -- 7.4/8.0 MB 347.4 kB/s eta 0:00:02\n",
      "     ------------------------------------- -- 7.4/8.0 MB 347.4 kB/s eta 0:00:02\n",
      "     ------------------------------------- -- 7.5/8.0 MB 348.7 kB/s eta 0:00:02\n",
      "     ------------------------------------- -- 7.5/8.0 MB 349.4 kB/s eta 0:00:02\n",
      "     ------------------------------------- -- 7.5/8.0 MB 349.3 kB/s eta 0:00:02\n",
      "     ------------------------------------- -- 7.6/8.0 MB 350.2 kB/s eta 0:00:02\n",
      "     -------------------------------------- - 7.6/8.0 MB 350.2 kB/s eta 0:00:02\n",
      "     -------------------------------------- - 7.6/8.0 MB 350.9 kB/s eta 0:00:02\n",
      "     -------------------------------------- - 7.6/8.0 MB 351.7 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 7.6/8.0 MB 351.7 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 7.6/8.0 MB 351.7 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 7.6/8.0 MB 351.7 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 7.7/8.0 MB 352.7 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 7.7/8.0 MB 352.4 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 7.8/8.0 MB 352.6 kB/s eta 0:00:01\n",
      "     ---------------------------------------  7.8/8.0 MB 353.0 kB/s eta 0:00:01\n",
      "     ---------------------------------------  7.8/8.0 MB 353.2 kB/s eta 0:00:01\n",
      "     ---------------------------------------  7.8/8.0 MB 353.2 kB/s eta 0:00:01\n",
      "     ---------------------------------------  7.8/8.0 MB 353.2 kB/s eta 0:00:01\n",
      "     ---------------------------------------  7.8/8.0 MB 353.2 kB/s eta 0:00:01\n",
      "     ---------------------------------------  7.8/8.0 MB 353.2 kB/s eta 0:00:01\n",
      "     ---------------------------------------  7.8/8.0 MB 353.2 kB/s eta 0:00:01\n",
      "     ---------------------------------------  7.8/8.0 MB 353.2 kB/s eta 0:00:01\n",
      "     ---------------------------------------  7.9/8.0 MB 350.5 kB/s eta 0:00:01\n",
      "     ---------------------------------------  7.9/8.0 MB 351.4 kB/s eta 0:00:01\n",
      "     ---------------------------------------  7.9/8.0 MB 351.4 kB/s eta 0:00:01\n",
      "     ---------------------------------------  7.9/8.0 MB 351.4 kB/s eta 0:00:01\n",
      "     ---------------------------------------- 8.0/8.0 MB 352.0 kB/s eta 0:00:00\n",
      "Collecting contourpy>=1.0.1 (from matplotlib)\n",
      "  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/78/38/a046bb0ebce6f530175d434e7364149e338ffe1069ee286ed8ba7f6481ee/contourpy-1.2.1-cp312-cp312-win_amd64.whl (189 kB)\n",
      "     ---------------------------------------- 0.0/189.9 kB ? eta -:--:--\n",
      "     ------------ -------------------------- 61.4/189.9 kB 1.1 MB/s eta 0:00:01\n",
      "     ----------------- ------------------- 92.2/189.9 kB 871.5 kB/s eta 0:00:01\n",
      "     --------------------- -------------- 112.6/189.9 kB 930.9 kB/s eta 0:00:01\n",
      "     --------------------------- -------- 143.4/189.9 kB 774.0 kB/s eta 0:00:01\n",
      "     --------------------------------- -- 174.1/189.9 kB 697.2 kB/s eta 0:00:01\n",
      "     ------------------------------------ 189.9/189.9 kB 675.4 kB/s eta 0:00:00\n",
      "Collecting cycler>=0.10 (from matplotlib)\n",
      "  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl (8.3 kB)\n",
      "Collecting fonttools>=4.22.0 (from matplotlib)\n",
      "  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/56/85/0a77382e3dd8528d7f13ee97415c82b36c4879023f226e2b98d012fce077/fonttools-4.51.0-cp312-cp312-win_amd64.whl (2.2 MB)\n",
      "     ---------------------------------------- 0.0/2.2 MB ? eta -:--:--\n",
      "     ---------------------------------------- 0.0/2.2 MB ? eta -:--:--\n",
      "      --------------------------------------- 0.0/2.2 MB 435.7 kB/s eta 0:00:05\n",
      "      --------------------------------------- 0.0/2.2 MB 326.8 kB/s eta 0:00:07\n",
      "     - -------------------------------------- 0.1/2.2 MB 363.1 kB/s eta 0:00:06\n",
      "     - -------------------------------------- 0.1/2.2 MB 302.7 kB/s eta 0:00:07\n",
      "     - -------------------------------------- 0.1/2.2 MB 308.0 kB/s eta 0:00:07\n",
      "     -- ------------------------------------- 0.1/2.2 MB 328.2 kB/s eta 0:00:07\n",
      "     -- ------------------------------------- 0.1/2.2 MB 328.2 kB/s eta 0:00:07\n",
      "     -- ------------------------------------- 0.1/2.2 MB 328.2 kB/s eta 0:00:07\n",
      "     -- ------------------------------------- 0.1/2.2 MB 328.2 kB/s eta 0:00:07\n",
      "     -- ------------------------------------- 0.1/2.2 MB 328.2 kB/s eta 0:00:07\n",
      "     -- ------------------------------------- 0.1/2.2 MB 328.2 kB/s eta 0:00:07\n",
      "     -- ------------------------------------- 0.1/2.2 MB 328.2 kB/s eta 0:00:07\n",
      "     -- ------------------------------------- 0.1/2.2 MB 218.6 kB/s eta 0:00:10\n",
      "     ---- ----------------------------------- 0.2/2.2 MB 320.0 kB/s eta 0:00:07\n",
      "     ---- ----------------------------------- 0.3/2.2 MB 349.6 kB/s eta 0:00:06\n",
      "     ---- ----------------------------------- 0.3/2.2 MB 349.6 kB/s eta 0:00:06\n",
      "     ----- ---------------------------------- 0.3/2.2 MB 358.6 kB/s eta 0:00:06\n",
      "     ----- ---------------------------------- 0.3/2.2 MB 364.0 kB/s eta 0:00:06\n",
      "     ------ --------------------------------- 0.4/2.2 MB 384.3 kB/s eta 0:00:05\n",
      "     ------- -------------------------------- 0.4/2.2 MB 397.6 kB/s eta 0:00:05\n",
      "     ------- -------------------------------- 0.4/2.2 MB 403.1 kB/s eta 0:00:05\n",
      "     -------- ------------------------------- 0.5/2.2 MB 420.6 kB/s eta 0:00:05\n",
      "     -------- ------------------------------- 0.5/2.2 MB 421.2 kB/s eta 0:00:05\n",
      "     -------- ------------------------------- 0.5/2.2 MB 418.7 kB/s eta 0:00:05\n",
      "     --------- ------------------------------ 0.5/2.2 MB 431.3 kB/s eta 0:00:04\n",
      "     --------- ------------------------------ 0.5/2.2 MB 428.4 kB/s eta 0:00:04\n",
      "     ---------- ----------------------------- 0.6/2.2 MB 431.7 kB/s eta 0:00:04\n",
      "     ---------- ----------------------------- 0.6/2.2 MB 431.8 kB/s eta 0:00:04\n",
      "     ----------- ---------------------------- 0.6/2.2 MB 439.4 kB/s eta 0:00:04\n",
      "     ----------- ---------------------------- 0.6/2.2 MB 439.3 kB/s eta 0:00:04\n",
      "     ----------- ---------------------------- 0.6/2.2 MB 436.9 kB/s eta 0:00:04\n",
      "     ------------ --------------------------- 0.7/2.2 MB 445.8 kB/s eta 0:00:04\n",
      "     ------------ --------------------------- 0.7/2.2 MB 443.5 kB/s eta 0:00:04\n",
      "     ------------- -------------------------- 0.7/2.2 MB 447.8 kB/s eta 0:00:04\n",
      "     ------------- -------------------------- 0.7/2.2 MB 447.8 kB/s eta 0:00:04\n",
      "     ------------- -------------------------- 0.7/2.2 MB 447.8 kB/s eta 0:00:04\n",
      "     -------------- ------------------------- 0.8/2.2 MB 454.7 kB/s eta 0:00:04\n",
      "     -------------- ------------------------- 0.8/2.2 MB 452.3 kB/s eta 0:00:04\n",
      "     -------------- ------------------------- 0.8/2.2 MB 452.3 kB/s eta 0:00:04\n",
      "     ---------------- ----------------------- 0.9/2.2 MB 460.3 kB/s eta 0:00:03\n",
      "     ----------------- ---------------------- 0.9/2.2 MB 475.8 kB/s eta 0:00:03\n",
      "     ----------------- ---------------------- 0.9/2.2 MB 473.3 kB/s eta 0:00:03\n",
      "     ----------------- ---------------------- 0.9/2.2 MB 473.3 kB/s eta 0:00:03\n",
      "     ----------------- ---------------------- 1.0/2.2 MB 458.3 kB/s eta 0:00:03\n",
      "     ------------------ --------------------- 1.0/2.2 MB 472.2 kB/s eta 0:00:03\n",
      "     ------------------ --------------------- 1.0/2.2 MB 472.2 kB/s eta 0:00:03\n",
      "     ------------------ --------------------- 1.0/2.2 MB 472.2 kB/s eta 0:00:03\n",
      "     ------------------- -------------------- 1.1/2.2 MB 473.3 kB/s eta 0:00:03\n",
      "     ------------------- -------------------- 1.1/2.2 MB 473.3 kB/s eta 0:00:03\n",
      "     ------------------- -------------------- 1.1/2.2 MB 473.3 kB/s eta 0:00:03\n",
      "     --------------------- ------------------ 1.2/2.2 MB 476.7 kB/s eta 0:00:03\n",
      "     --------------------- ------------------ 1.2/2.2 MB 482.0 kB/s eta 0:00:03\n",
      "     ---------------------- ----------------- 1.2/2.2 MB 482.3 kB/s eta 0:00:03\n",
      "     ---------------------- ----------------- 1.2/2.2 MB 477.4 kB/s eta 0:00:03\n",
      "     ----------------------- ---------------- 1.3/2.2 MB 484.6 kB/s eta 0:00:02\n",
      "     ----------------------- ---------------- 1.3/2.2 MB 487.6 kB/s eta 0:00:02\n",
      "     ------------------------ --------------- 1.3/2.2 MB 487.8 kB/s eta 0:00:02\n",
      "     ------------------------ --------------- 1.3/2.2 MB 487.8 kB/s eta 0:00:02\n",
      "     ------------------------ --------------- 1.3/2.2 MB 487.8 kB/s eta 0:00:02\n",
      "     ------------------------ --------------- 1.3/2.2 MB 487.8 kB/s eta 0:00:02\n",
      "     ------------------------- -------------- 1.4/2.2 MB 487.1 kB/s eta 0:00:02\n",
      "     -------------------------- ------------- 1.4/2.2 MB 489.8 kB/s eta 0:00:02\n",
      "     -------------------------- ------------- 1.5/2.2 MB 488.9 kB/s eta 0:00:02\n",
      "     -------------------------- ------------- 1.5/2.2 MB 488.9 kB/s eta 0:00:02\n",
      "     -------------------------- ------------- 1.5/2.2 MB 474.9 kB/s eta 0:00:02\n",
      "     --------------------------- ------------ 1.5/2.2 MB 476.6 kB/s eta 0:00:02\n",
      "     --------------------------- ------------ 1.5/2.2 MB 476.6 kB/s eta 0:00:02\n",
      "     --------------------------- ------------ 1.5/2.2 MB 471.3 kB/s eta 0:00:02\n",
      "     --------------------------- ------------ 1.5/2.2 MB 465.5 kB/s eta 0:00:02\n",
      "     --------------------------- ------------ 1.5/2.2 MB 465.5 kB/s eta 0:00:02\n",
      "     --------------------------- ------------ 1.5/2.2 MB 465.5 kB/s eta 0:00:02\n",
      "     --------------------------- ------------ 1.5/2.2 MB 465.5 kB/s eta 0:00:02\n",
      "     --------------------------- ------------ 1.5/2.2 MB 465.5 kB/s eta 0:00:02\n",
      "     --------------------------- ------------ 1.5/2.2 MB 465.5 kB/s eta 0:00:02\n",
      "     --------------------------- ------------ 1.5/2.2 MB 465.5 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 447.5 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 447.5 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 447.5 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 447.5 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 429.6 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 429.6 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 429.6 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 429.6 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 429.6 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 429.6 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 429.6 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 429.6 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 429.6 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.6/2.2 MB 429.6 kB/s eta 0:00:02\n",
      "     -------------------------------- ------- 1.8/2.2 MB 415.0 kB/s eta 0:00:01\n",
      "     -------------------------------- ------- 1.8/2.2 MB 415.0 kB/s eta 0:00:01\n",
      "     -------------------------------- ------- 1.8/2.2 MB 415.0 kB/s eta 0:00:01\n",
      "     -------------------------------- ------- 1.8/2.2 MB 415.0 kB/s eta 0:00:01\n",
      "     ---------------------------------- ----- 1.9/2.2 MB 421.5 kB/s eta 0:00:01\n",
      "     ---------------------------------- ----- 1.9/2.2 MB 421.5 kB/s eta 0:00:01\n",
      "     ---------------------------------- ----- 1.9/2.2 MB 420.2 kB/s eta 0:00:01\n",
      "     ---------------------------------- ----- 1.9/2.2 MB 420.2 kB/s eta 0:00:01\n",
      "     ---------------------------------- ----- 1.9/2.2 MB 420.2 kB/s eta 0:00:01\n",
      "     ---------------------------------- ----- 1.9/2.2 MB 420.2 kB/s eta 0:00:01\n",
      "     ---------------------------------- ----- 1.9/2.2 MB 420.2 kB/s eta 0:00:01\n",
      "     ---------------------------------- ----- 1.9/2.2 MB 420.2 kB/s eta 0:00:01\n",
      "     ------------------------------------ --- 2.0/2.2 MB 414.1 kB/s eta 0:00:01\n",
      "     ------------------------------------ --- 2.0/2.2 MB 412.2 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.0/2.2 MB 413.8 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.0/2.2 MB 413.8 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.0/2.2 MB 408.0 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.1/2.2 MB 407.1 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.1/2.2 MB 407.1 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.1/2.2 MB 407.1 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.1/2.2 MB 407.1 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.1/2.2 MB 407.1 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 2.1/2.2 MB 395.9 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 2.1/2.2 MB 395.9 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 2.1/2.2 MB 395.9 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 2.1/2.2 MB 395.9 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 2.1/2.2 MB 395.9 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 2.1/2.2 MB 395.9 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 2.1/2.2 MB 395.9 kB/s eta 0:00:01\n",
      "     -------------------------------------- - 2.1/2.2 MB 395.9 kB/s eta 0:00:01\n",
      "     ---------------------------------------  2.2/2.2 MB 382.3 kB/s eta 0:00:01\n",
      "     ---------------------------------------  2.2/2.2 MB 380.9 kB/s eta 0:00:01\n",
      "     ---------------------------------------- 2.2/2.2 MB 379.6 kB/s eta 0:00:00\n",
      "Collecting kiwisolver>=1.3.1 (from matplotlib)\n",
      "  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/63/50/2746566bdf4a6a842d117367d05c90cfb87ac04e9e2845aa1fa21f071362/kiwisolver-1.4.5-cp312-cp312-win_amd64.whl (56 kB)\n",
      "     ---------------------------------------- 0.0/56.0 kB ? eta -:--:--\n",
      "     ------- -------------------------------- 10.2/56.0 kB ? eta -:--:--\n",
      "     -------------------- ----------------- 30.7/56.0 kB 330.3 kB/s eta 0:00:01\n",
      "     --------------------------- ---------- 41.0/56.0 kB 245.8 kB/s eta 0:00:01\n",
      "     -------------------------------------- 56.0/56.0 kB 244.7 kB/s eta 0:00:00\n",
      "Requirement already satisfied: numpy>=1.23 in c:\\users\\sill\\miniconda3\\lib\\site-packages (from matplotlib) (1.26.4)\n",
      "Requirement already satisfied: packaging>=20.0 in c:\\users\\sill\\miniconda3\\lib\\site-packages (from matplotlib) (23.2)\n",
      "Collecting pillow>=8 (from matplotlib)\n",
      "  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d3/23/3927d888481ff7c44fdbca3bc2a2e97588c933db46723bf115201377c436/pillow-10.3.0-cp312-cp312-win_amd64.whl (2.5 MB)\n",
      "     ---------------------------------------- 0.0/2.5 MB ? eta -:--:--\n",
      "     ---------------------------------------- 0.0/2.5 MB 660.6 kB/s eta 0:00:04\n",
      "      --------------------------------------- 0.1/2.5 MB 656.4 kB/s eta 0:00:04\n",
      "     - -------------------------------------- 0.1/2.5 MB 491.5 kB/s eta 0:00:06\n",
      "     - -------------------------------------- 0.1/2.5 MB 656.4 kB/s eta 0:00:04\n",
      "     - -------------------------------------- 0.1/2.5 MB 656.4 kB/s eta 0:00:04\n",
      "     - -------------------------------------- 0.1/2.5 MB 656.4 kB/s eta 0:00:04\n",
      "     -- ------------------------------------- 0.2/2.5 MB 523.5 kB/s eta 0:00:05\n",
      "     --- ------------------------------------ 0.2/2.5 MB 562.0 kB/s eta 0:00:05\n",
      "     --- ------------------------------------ 0.2/2.5 MB 550.0 kB/s eta 0:00:05\n",
      "     --- ------------------------------------ 0.2/2.5 MB 514.3 kB/s eta 0:00:05\n",
      "     --- ------------------------------------ 0.2/2.5 MB 514.3 kB/s eta 0:00:05\n",
      "     ---- ----------------------------------- 0.3/2.5 MB 505.4 kB/s eta 0:00:05\n",
      "     ---- ----------------------------------- 0.3/2.5 MB 527.5 kB/s eta 0:00:05\n",
      "     ----- ---------------------------------- 0.3/2.5 MB 524.3 kB/s eta 0:00:05\n",
      "     ----- ---------------------------------- 0.4/2.5 MB 506.0 kB/s eta 0:00:05\n",
      "     ----- ---------------------------------- 0.4/2.5 MB 506.0 kB/s eta 0:00:05\n",
      "     ----- ---------------------------------- 0.4/2.5 MB 506.0 kB/s eta 0:00:05\n",
      "     ----- ---------------------------------- 0.4/2.5 MB 506.0 kB/s eta 0:00:05\n",
      "     ------ --------------------------------- 0.4/2.5 MB 509.6 kB/s eta 0:00:05\n",
      "     ------ --------------------------------- 0.4/2.5 MB 509.6 kB/s eta 0:00:05\n",
      "     ------- -------------------------------- 0.5/2.5 MB 502.2 kB/s eta 0:00:05\n",
      "     -------- ------------------------------- 0.5/2.5 MB 512.0 kB/s eta 0:00:04\n",
      "     -------- ------------------------------- 0.6/2.5 MB 510.6 kB/s eta 0:00:04\n",
      "     --------- ------------------------------ 0.6/2.5 MB 524.2 kB/s eta 0:00:04\n",
      "     --------- ------------------------------ 0.6/2.5 MB 524.2 kB/s eta 0:00:04\n",
      "     --------- ------------------------------ 0.6/2.5 MB 515.5 kB/s eta 0:00:04\n",
      "     ---------- ----------------------------- 0.6/2.5 MB 514.5 kB/s eta 0:00:04\n",
      "     ---------- ----------------------------- 0.7/2.5 MB 517.7 kB/s eta 0:00:04\n",
      "     ---------- ----------------------------- 0.7/2.5 MB 517.7 kB/s eta 0:00:04\n",
      "     ---------- ----------------------------- 0.7/2.5 MB 517.7 kB/s eta 0:00:04\n",
      "     ----------- ---------------------------- 0.7/2.5 MB 518.5 kB/s eta 0:00:04\n",
      "     ----------- ---------------------------- 0.7/2.5 MB 518.5 kB/s eta 0:00:04\n",
      "     ------------ --------------------------- 0.8/2.5 MB 520.1 kB/s eta 0:00:04\n",
      "     ------------- -------------------------- 0.8/2.5 MB 524.1 kB/s eta 0:00:04\n",
      "     ------------- -------------------------- 0.8/2.5 MB 526.8 kB/s eta 0:00:04\n",
      "     ------------- -------------------------- 0.8/2.5 MB 526.8 kB/s eta 0:00:04\n",
      "     ------------- -------------------------- 0.8/2.5 MB 526.8 kB/s eta 0:00:04\n",
      "     ------------- -------------------------- 0.8/2.5 MB 526.8 kB/s eta 0:00:04\n",
      "     ------------- -------------------------- 0.8/2.5 MB 526.8 kB/s eta 0:00:04\n",
      "     ------------- -------------------------- 0.8/2.5 MB 526.8 kB/s eta 0:00:04\n",
      "     ------------- -------------------------- 0.8/2.5 MB 526.8 kB/s eta 0:00:04\n",
      "     ------------- -------------------------- 0.8/2.5 MB 526.8 kB/s eta 0:00:04\n",
      "     -------------- ------------------------- 0.9/2.5 MB 477.1 kB/s eta 0:00:04\n",
      "     --------------- ------------------------ 1.0/2.5 MB 470.2 kB/s eta 0:00:04\n",
      "     --------------- ------------------------ 1.0/2.5 MB 470.2 kB/s eta 0:00:04\n",
      "     ---------------- ----------------------- 1.0/2.5 MB 472.2 kB/s eta 0:00:04\n",
      "     ---------------- ----------------------- 1.0/2.5 MB 472.2 kB/s eta 0:00:04\n",
      "     ---------------- ----------------------- 1.0/2.5 MB 456.9 kB/s eta 0:00:04\n",
      "     ---------------- ----------------------- 1.0/2.5 MB 456.4 kB/s eta 0:00:04\n",
      "     ---------------- ----------------------- 1.0/2.5 MB 456.4 kB/s eta 0:00:04\n",
      "     ---------------- ----------------------- 1.1/2.5 MB 445.6 kB/s eta 0:00:04\n",
      "     ---------------- ----------------------- 1.1/2.5 MB 448.4 kB/s eta 0:00:04\n",
      "     ----------------- ---------------------- 1.1/2.5 MB 448.2 kB/s eta 0:00:04\n",
      "     ----------------- ---------------------- 1.1/2.5 MB 443.8 kB/s eta 0:00:04\n",
      "     ----------------- ---------------------- 1.1/2.5 MB 443.6 kB/s eta 0:00:04\n",
      "     ----------------- ---------------------- 1.1/2.5 MB 439.5 kB/s eta 0:00:04\n",
      "     ------------------ --------------------- 1.2/2.5 MB 439.6 kB/s eta 0:00:04\n",
      "     ------------------ --------------------- 1.2/2.5 MB 434.3 kB/s eta 0:00:04\n",
      "     ------------------ --------------------- 1.2/2.5 MB 430.7 kB/s eta 0:00:04\n",
      "     ------------------- -------------------- 1.2/2.5 MB 433.1 kB/s eta 0:00:04\n",
      "     ------------------- -------------------- 1.2/2.5 MB 429.5 kB/s eta 0:00:04\n",
      "     ------------------- -------------------- 1.2/2.5 MB 429.8 kB/s eta 0:00:04\n",
      "     ------------------- -------------------- 1.3/2.5 MB 429.9 kB/s eta 0:00:03\n",
      "     -------------------- ------------------- 1.3/2.5 MB 428.7 kB/s eta 0:00:03\n",
      "     -------------------- ------------------- 1.3/2.5 MB 427.8 kB/s eta 0:00:03\n",
      "     -------------------- ------------------- 1.3/2.5 MB 427.8 kB/s eta 0:00:03\n",
      "     -------------------- ------------------- 1.3/2.5 MB 425.8 kB/s eta 0:00:03\n",
      "     --------------------- ------------------ 1.3/2.5 MB 423.8 kB/s eta 0:00:03\n",
      "     --------------------- ------------------ 1.4/2.5 MB 420.8 kB/s eta 0:00:03\n",
      "     --------------------- ------------------ 1.4/2.5 MB 421.1 kB/s eta 0:00:03\n",
      "     --------------------- ------------------ 1.4/2.5 MB 420.1 kB/s eta 0:00:03\n",
      "     ---------------------- ----------------- 1.4/2.5 MB 418.5 kB/s eta 0:00:03\n",
      "     ---------------------- ----------------- 1.4/2.5 MB 416.7 kB/s eta 0:00:03\n",
      "     ---------------------- ----------------- 1.4/2.5 MB 415.9 kB/s eta 0:00:03\n",
      "     ---------------------- ----------------- 1.4/2.5 MB 415.9 kB/s eta 0:00:03\n",
      "     ---------------------- ----------------- 1.5/2.5 MB 412.5 kB/s eta 0:00:03\n",
      "     ----------------------- ---------------- 1.5/2.5 MB 409.9 kB/s eta 0:00:03\n",
      "     ----------------------- ---------------- 1.5/2.5 MB 406.8 kB/s eta 0:00:03\n",
      "     ----------------------- ---------------- 1.5/2.5 MB 408.9 kB/s eta 0:00:03\n",
      "     ----------------------- ---------------- 1.5/2.5 MB 406.5 kB/s eta 0:00:03\n",
      "     ------------------------ --------------- 1.5/2.5 MB 406.9 kB/s eta 0:00:03\n",
      "     ------------------------ --------------- 1.5/2.5 MB 402.8 kB/s eta 0:00:03\n",
      "     ------------------------ --------------- 1.5/2.5 MB 402.8 kB/s eta 0:00:03\n",
      "     ------------------------ --------------- 1.6/2.5 MB 401.7 kB/s eta 0:00:03\n",
      "     ------------------------- -------------- 1.6/2.5 MB 400.4 kB/s eta 0:00:03\n",
      "     ------------------------- -------------- 1.6/2.5 MB 401.9 kB/s eta 0:00:03\n",
      "     ------------------------- -------------- 1.6/2.5 MB 399.8 kB/s eta 0:00:03\n",
      "     -------------------------- ------------- 1.6/2.5 MB 401.8 kB/s eta 0:00:03\n",
      "     -------------------------- ------------- 1.7/2.5 MB 400.6 kB/s eta 0:00:03\n",
      "     -------------------------- ------------- 1.7/2.5 MB 400.6 kB/s eta 0:00:03\n",
      "     -------------------------- ------------- 1.7/2.5 MB 395.6 kB/s eta 0:00:03\n",
      "     -------------------------- ------------- 1.7/2.5 MB 395.6 kB/s eta 0:00:03\n",
      "     -------------------------- ------------- 1.7/2.5 MB 393.2 kB/s eta 0:00:03\n",
      "     --------------------------- ------------ 1.7/2.5 MB 393.2 kB/s eta 0:00:03\n",
      "     --------------------------- ------------ 1.8/2.5 MB 396.4 kB/s eta 0:00:02\n",
      "     --------------------------- ------------ 1.8/2.5 MB 393.2 kB/s eta 0:00:02\n",
      "     ---------------------------- ----------- 1.8/2.5 MB 393.7 kB/s eta 0:00:02\n",
      "     ---------------------------- ----------- 1.8/2.5 MB 395.0 kB/s eta 0:00:02\n",
      "     ---------------------------- ----------- 1.8/2.5 MB 396.8 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.9/2.5 MB 399.4 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.9/2.5 MB 397.5 kB/s eta 0:00:02\n",
      "     ----------------------------- ---------- 1.9/2.5 MB 397.5 kB/s eta 0:00:02\n",
      "     ------------------------------ --------- 1.9/2.5 MB 397.0 kB/s eta 0:00:02\n",
      "     ------------------------------ --------- 1.9/2.5 MB 396.6 kB/s eta 0:00:02\n",
      "     ------------------------------ --------- 1.9/2.5 MB 398.3 kB/s eta 0:00:02\n",
      "     ------------------------------ --------- 2.0/2.5 MB 395.3 kB/s eta 0:00:02\n",
      "     ------------------------------ --------- 2.0/2.5 MB 395.3 kB/s eta 0:00:02\n",
      "     ------------------------------- -------- 2.0/2.5 MB 396.9 kB/s eta 0:00:02\n",
      "     ------------------------------- -------- 2.0/2.5 MB 396.9 kB/s eta 0:00:02\n",
      "     -------------------------------- ------- 2.0/2.5 MB 395.6 kB/s eta 0:00:02\n",
      "     -------------------------------- ------- 2.1/2.5 MB 396.0 kB/s eta 0:00:02\n",
      "     -------------------------------- ------- 2.1/2.5 MB 398.7 kB/s eta 0:00:02\n",
      "     --------------------------------- ------ 2.1/2.5 MB 398.6 kB/s eta 0:00:02\n",
      "     --------------------------------- ------ 2.1/2.5 MB 397.0 kB/s eta 0:00:02\n",
      "     --------------------------------- ------ 2.1/2.5 MB 398.6 kB/s eta 0:00:01\n",
      "     --------------------------------- ------ 2.1/2.5 MB 398.6 kB/s eta 0:00:01\n",
      "     ---------------------------------- ----- 2.2/2.5 MB 397.3 kB/s eta 0:00:01\n",
      "     ---------------------------------- ----- 2.2/2.5 MB 399.6 kB/s eta 0:00:01\n",
      "     ----------------------------------- ---- 2.2/2.5 MB 401.0 kB/s eta 0:00:01\n",
      "     ----------------------------------- ---- 2.3/2.5 MB 402.0 kB/s eta 0:00:01\n",
      "     ----------------------------------- ---- 2.3/2.5 MB 402.0 kB/s eta 0:00:01\n",
      "     ----------------------------------- ---- 2.3/2.5 MB 402.0 kB/s eta 0:00:01\n",
      "     ----------------------------------- ---- 2.3/2.5 MB 396.8 kB/s eta 0:00:01\n",
      "     ------------------------------------ --- 2.3/2.5 MB 394.3 kB/s eta 0:00:01\n",
      "     ------------------------------------ --- 2.3/2.5 MB 395.7 kB/s eta 0:00:01\n",
      "     ------------------------------------ --- 2.3/2.5 MB 397.1 kB/s eta 0:00:01\n",
      "     ------------------------------------ --- 2.3/2.5 MB 394.6 kB/s eta 0:00:01\n",
      "     ------------------------------------ --- 2.3/2.5 MB 394.6 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.4/2.5 MB 392.9 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.4/2.5 MB 392.9 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.4/2.5 MB 392.9 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.4/2.5 MB 392.9 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.4/2.5 MB 392.9 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.4/2.5 MB 392.9 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.4/2.5 MB 392.9 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.4/2.5 MB 392.9 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.4/2.5 MB 392.9 kB/s eta 0:00:01\n",
      "     ------------------------------------- -- 2.4/2.5 MB 366.7 kB/s eta 0:00:01\n",
      "     ---------------------------------------- 2.5/2.5 MB 390.7 kB/s eta 0:00:00\n",
      "Collecting pyparsing>=2.3.1 (from matplotlib)\n",
      "  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/9d/ea/6d76df31432a0e6fdf81681a895f009a4bb47b3c39036db3e1b528191d52/pyparsing-3.1.2-py3-none-any.whl (103 kB)\n",
      "     ---------------------------------------- 0.0/103.2 kB ? eta -:--:--\n",
      "     --- ------------------------------------ 10.2/103.2 kB ? eta -:--:--\n",
      "     -------------- ---------------------- 41.0/103.2 kB 495.5 kB/s eta 0:00:01\n",
      "     ---------------------- -------------- 61.4/103.2 kB 544.7 kB/s eta 0:00:01\n",
      "     ---------------------- -------------- 61.4/103.2 kB 544.7 kB/s eta 0:00:01\n",
      "     -----------------------------------  102.4/103.2 kB 454.0 kB/s eta 0:00:01\n",
      "     ------------------------------------ 103.2/103.2 kB 424.7 kB/s eta 0:00:00\n",
      "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\sill\\miniconda3\\lib\\site-packages (from matplotlib) (2.9.0.post0)\n",
      "Requirement already satisfied: six>=1.5 in c:\\users\\sill\\miniconda3\\lib\\site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)\n",
      "Installing collected packages: pyparsing, pillow, kiwisolver, fonttools, cycler, contourpy, matplotlib\n",
      "Successfully installed contourpy-1.2.1 cycler-0.12.1 fonttools-4.51.0 kiwisolver-1.4.5 matplotlib-3.9.0 pillow-10.3.0 pyparsing-3.1.2\n"
     ]
    }
   ],
   "source": [
    "# !pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple\n",
    "# !pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple\n",
    "!pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "5319ca65-6490-46f9-8a98-b2098a99845e",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e197f6fd-f736-4e95-8878-269dccaba2f0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 驱动器 D 中的卷是 DATA\n",
      " 卷的序列号是 FA99-1C19\n",
      "\n",
      " D:\\Programs\\Graduate Design\\dt 的目录\n",
      "\n",
      "2024/05/15  19:51    <DIR>          .\n",
      "2024/05/16  16:30    <DIR>          ..\n",
      "2024/05/15  19:50         5,491,889 data.xlsx\n",
      "               1 个文件      5,491,889 字节\n",
      "               2 个目录 837,651,783,680 可用字节\n"
     ]
    }
   ],
   "source": [
    "%ls dt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "3c10a67e-4820-4efb-9762-536d2a0f076d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>year</th>\n",
       "      <th>week</th>\n",
       "      <th>day</th>\n",
       "      <th>river_system</th>\n",
       "      <th>point</th>\n",
       "      <th>river</th>\n",
       "      <th>section</th>\n",
       "      <th>pH</th>\n",
       "      <th>DO</th>\n",
       "      <th>CODMn</th>\n",
       "      <th>NH3_N</th>\n",
       "      <th>week_now</th>\n",
       "      <th>week_pre</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2004</td>\n",
       "      <td>1</td>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>太湖</td>\n",
       "      <td>上海青浦急水港</td>\n",
       "      <td>急水港河</td>\n",
       "      <td>急水港（苏-沪省界）</td>\n",
       "      <td>7.36</td>\n",
       "      <td>7.68</td>\n",
       "      <td>5.5</td>\n",
       "      <td>5.03</td>\n",
       "      <td>劣Ⅴ</td>\n",
       "      <td>劣Ⅴ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2004</td>\n",
       "      <td>1</td>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>滇池</td>\n",
       "      <td>云南昆明西苑隧道</td>\n",
       "      <td>黄河</td>\n",
       "      <td>湖体（草海）</td>\n",
       "      <td>8.79</td>\n",
       "      <td>6.80</td>\n",
       "      <td>12.8</td>\n",
       "      <td>0.04</td>\n",
       "      <td>Ⅴ</td>\n",
       "      <td>劣Ⅴ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2004</td>\n",
       "      <td>1</td>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>滇池</td>\n",
       "      <td>云南昆明观音山</td>\n",
       "      <td>黄河</td>\n",
       "      <td>湖体（外海）</td>\n",
       "      <td>8.61</td>\n",
       "      <td>8.25</td>\n",
       "      <td>6.3</td>\n",
       "      <td>1.17</td>\n",
       "      <td>Ⅳ</td>\n",
       "      <td>Ⅳ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2004</td>\n",
       "      <td>1</td>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>黄河</td>\n",
       "      <td>内蒙乌海海勃湾</td>\n",
       "      <td>邳苍分洪道西偏泓</td>\n",
       "      <td>干流（宁-蒙省界）</td>\n",
       "      <td>7.85</td>\n",
       "      <td>6.11</td>\n",
       "      <td>3.4</td>\n",
       "      <td>2.56</td>\n",
       "      <td>劣Ⅴ</td>\n",
       "      <td>劣Ⅴ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2004</td>\n",
       "      <td>1</td>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>黄河</td>\n",
       "      <td>内蒙包头画匠营子</td>\n",
       "      <td>鸭绿江</td>\n",
       "      <td>干流</td>\n",
       "      <td>8.04</td>\n",
       "      <td>11.30</td>\n",
       "      <td>5.1</td>\n",
       "      <td>1.37</td>\n",
       "      <td>Ⅳ</td>\n",
       "      <td>Ⅳ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79412</th>\n",
       "      <td>2018</td>\n",
       "      <td>9</td>\n",
       "      <td>NaT</td>\n",
       "      <td>淮河流域</td>\n",
       "      <td>驻马店班台</td>\n",
       "      <td>洪汝河</td>\n",
       "      <td>豫-皖省界</td>\n",
       "      <td>7.93</td>\n",
       "      <td>12.20</td>\n",
       "      <td>6.1</td>\n",
       "      <td>1.13</td>\n",
       "      <td>Ⅳ</td>\n",
       "      <td>劣Ⅴ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79413</th>\n",
       "      <td>2018</td>\n",
       "      <td>9</td>\n",
       "      <td>NaT</td>\n",
       "      <td>其它大型湖泊</td>\n",
       "      <td>鸡西档壁镇</td>\n",
       "      <td>兴凯湖</td>\n",
       "      <td>湖体</td>\n",
       "      <td>8.31</td>\n",
       "      <td>11.50</td>\n",
       "      <td>3.8</td>\n",
       "      <td>0.10</td>\n",
       "      <td>Ⅱ</td>\n",
       "      <td>Ⅱ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79414</th>\n",
       "      <td>2018</td>\n",
       "      <td>9</td>\n",
       "      <td>NaT</td>\n",
       "      <td>松花江流域</td>\n",
       "      <td>鸡西知一桥</td>\n",
       "      <td>穆棱河</td>\n",
       "      <td>入乌苏里江前</td>\n",
       "      <td>7.56</td>\n",
       "      <td>7.86</td>\n",
       "      <td>4.3</td>\n",
       "      <td>2.92</td>\n",
       "      <td>劣Ⅴ</td>\n",
       "      <td>Ⅴ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79415</th>\n",
       "      <td>2018</td>\n",
       "      <td>9</td>\n",
       "      <td>NaT</td>\n",
       "      <td>其它大型湖泊</td>\n",
       "      <td>鸡西龙王庙</td>\n",
       "      <td>兴凯湖</td>\n",
       "      <td>湖体（出口）</td>\n",
       "      <td>8.25</td>\n",
       "      <td>11.20</td>\n",
       "      <td>3.7</td>\n",
       "      <td>0.06</td>\n",
       "      <td>Ⅱ</td>\n",
       "      <td>Ⅱ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79416</th>\n",
       "      <td>2018</td>\n",
       "      <td>9</td>\n",
       "      <td>NaT</td>\n",
       "      <td>松花江流域</td>\n",
       "      <td>黑河</td>\n",
       "      <td>黑龙江</td>\n",
       "      <td>中、俄界河</td>\n",
       "      <td>7.40</td>\n",
       "      <td>9.28</td>\n",
       "      <td>4.5</td>\n",
       "      <td>0.35</td>\n",
       "      <td>Ⅲ</td>\n",
       "      <td>Ⅲ</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>79417 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       year  week        day river_system     point     river     section  \\\n",
       "0      2004     1 2004-01-05           太湖   上海青浦急水港      急水港河  急水港（苏-沪省界）   \n",
       "1      2004     1 2004-01-05           滇池  云南昆明西苑隧道        黄河      湖体（草海）   \n",
       "2      2004     1 2004-01-05           滇池   云南昆明观音山        黄河      湖体（外海）   \n",
       "3      2004     1 2004-01-05           黄河   内蒙乌海海勃湾  邳苍分洪道西偏泓   干流（宁-蒙省界）   \n",
       "4      2004     1 2004-01-05           黄河  内蒙包头画匠营子       鸭绿江          干流   \n",
       "...     ...   ...        ...          ...       ...       ...         ...   \n",
       "79412  2018     9        NaT         淮河流域     驻马店班台       洪汝河       豫-皖省界   \n",
       "79413  2018     9        NaT       其它大型湖泊     鸡西档壁镇       兴凯湖          湖体   \n",
       "79414  2018     9        NaT        松花江流域     鸡西知一桥       穆棱河      入乌苏里江前   \n",
       "79415  2018     9        NaT       其它大型湖泊     鸡西龙王庙       兴凯湖      湖体（出口）   \n",
       "79416  2018     9        NaT        松花江流域        黑河       黑龙江       中、俄界河   \n",
       "\n",
       "         pH     DO  CODMn  NH3_N week_now week_pre  \n",
       "0      7.36   7.68    5.5   5.03       劣Ⅴ       劣Ⅴ  \n",
       "1      8.79   6.80   12.8   0.04        Ⅴ       劣Ⅴ  \n",
       "2      8.61   8.25    6.3   1.17        Ⅳ        Ⅳ  \n",
       "3      7.85   6.11    3.4   2.56       劣Ⅴ       劣Ⅴ  \n",
       "4      8.04  11.30    5.1   1.37        Ⅳ        Ⅳ  \n",
       "...     ...    ...    ...    ...      ...      ...  \n",
       "79412  7.93  12.20    6.1   1.13        Ⅳ       劣Ⅴ  \n",
       "79413  8.31  11.50    3.8   0.10        Ⅱ        Ⅱ  \n",
       "79414  7.56   7.86    4.3   2.92       劣Ⅴ        Ⅴ  \n",
       "79415  8.25  11.20    3.7   0.06        Ⅱ        Ⅱ  \n",
       "79416  7.40   9.28    4.5   0.35        Ⅲ        Ⅲ  \n",
       "\n",
       "[79417 rows x 13 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dt = pd.read_excel('./dt/data.xlsx', skiprows=2)\n",
    "dt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "74ddfc5c-ca71-4e35-b0ab-bbd8f152e18e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>year</th>\n",
       "      <th>week</th>\n",
       "      <th>day</th>\n",
       "      <th>river_system</th>\n",
       "      <th>point</th>\n",
       "      <th>river</th>\n",
       "      <th>section</th>\n",
       "      <th>pH</th>\n",
       "      <th>DO</th>\n",
       "      <th>CODMn</th>\n",
       "      <th>NH3_N</th>\n",
       "      <th>week_now</th>\n",
       "      <th>week_pre</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2004</td>\n",
       "      <td>1</td>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>松花江</td>\n",
       "      <td>吉林白城白沙滩</td>\n",
       "      <td>松花江</td>\n",
       "      <td>嫩江（入松花江前）</td>\n",
       "      <td>7.05</td>\n",
       "      <td>5.51</td>\n",
       "      <td>3.6</td>\n",
       "      <td>0.37</td>\n",
       "      <td>Ⅲ</td>\n",
       "      <td>Ⅲ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2004</td>\n",
       "      <td>1</td>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>松花江</td>\n",
       "      <td>吉林长春松花江</td>\n",
       "      <td>黄河</td>\n",
       "      <td>干流</td>\n",
       "      <td>6.93</td>\n",
       "      <td>7.49</td>\n",
       "      <td>2.9</td>\n",
       "      <td>0.47</td>\n",
       "      <td>Ⅱ</td>\n",
       "      <td>Ⅱ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2004</td>\n",
       "      <td>1</td>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>松花江</td>\n",
       "      <td>黑龙江同江</td>\n",
       "      <td>黑龙江</td>\n",
       "      <td>干流（入黑龙江前）</td>\n",
       "      <td>6.68</td>\n",
       "      <td>3.83</td>\n",
       "      <td>5.2</td>\n",
       "      <td>0.78</td>\n",
       "      <td>Ⅳ</td>\n",
       "      <td>Ⅳ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2004</td>\n",
       "      <td>1</td>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>松花江</td>\n",
       "      <td>黑龙江肇源</td>\n",
       "      <td>松花江</td>\n",
       "      <td>干流</td>\n",
       "      <td>7.13</td>\n",
       "      <td>4.55</td>\n",
       "      <td>7.1</td>\n",
       "      <td>0.05</td>\n",
       "      <td>Ⅳ</td>\n",
       "      <td>Ⅳ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2004</td>\n",
       "      <td>1</td>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>松花江</td>\n",
       "      <td>黑龙江黑河</td>\n",
       "      <td>昌化江</td>\n",
       "      <td>黑龙江干流</td>\n",
       "      <td>6.82</td>\n",
       "      <td>8.91</td>\n",
       "      <td>4.7</td>\n",
       "      <td>0.20</td>\n",
       "      <td>Ⅲ</td>\n",
       "      <td>—**</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>230</th>\n",
       "      <td>2004</td>\n",
       "      <td>9</td>\n",
       "      <td>2004-03-01</td>\n",
       "      <td>松花江</td>\n",
       "      <td>吉林白城白沙滩</td>\n",
       "      <td>松花江</td>\n",
       "      <td>嫩江（入松花江前）</td>\n",
       "      <td>7.58</td>\n",
       "      <td>5.43</td>\n",
       "      <td>2.9</td>\n",
       "      <td>0.17</td>\n",
       "      <td>Ⅲ</td>\n",
       "      <td>Ⅲ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>231</th>\n",
       "      <td>2004</td>\n",
       "      <td>9</td>\n",
       "      <td>2004-03-01</td>\n",
       "      <td>松花江</td>\n",
       "      <td>吉林长春松花江</td>\n",
       "      <td>黄河</td>\n",
       "      <td>干流</td>\n",
       "      <td>6.82</td>\n",
       "      <td>6.67</td>\n",
       "      <td>3.9</td>\n",
       "      <td>0.41</td>\n",
       "      <td>Ⅱ</td>\n",
       "      <td>Ⅱ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>232</th>\n",
       "      <td>2004</td>\n",
       "      <td>9</td>\n",
       "      <td>2004-03-01</td>\n",
       "      <td>松花江</td>\n",
       "      <td>黑龙江同江</td>\n",
       "      <td>黑龙江</td>\n",
       "      <td>干流（入黑龙江前）</td>\n",
       "      <td>6.50</td>\n",
       "      <td>1.71</td>\n",
       "      <td>2.9</td>\n",
       "      <td>0.89</td>\n",
       "      <td>劣Ⅴ</td>\n",
       "      <td>劣Ⅴ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>233</th>\n",
       "      <td>2004</td>\n",
       "      <td>9</td>\n",
       "      <td>2004-03-01</td>\n",
       "      <td>松花江</td>\n",
       "      <td>黑龙江肇源</td>\n",
       "      <td>松花江</td>\n",
       "      <td>干流</td>\n",
       "      <td>7.70</td>\n",
       "      <td>7.00</td>\n",
       "      <td>5.5</td>\n",
       "      <td>0.10</td>\n",
       "      <td>Ⅲ</td>\n",
       "      <td>Ⅲ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>234</th>\n",
       "      <td>2004</td>\n",
       "      <td>9</td>\n",
       "      <td>2004-03-01</td>\n",
       "      <td>松花江</td>\n",
       "      <td>黑龙江黑河</td>\n",
       "      <td>昌化江</td>\n",
       "      <td>黑龙江干流</td>\n",
       "      <td>6.52</td>\n",
       "      <td>4.76</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.37</td>\n",
       "      <td>Ⅳ</td>\n",
       "      <td>Ⅳ</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>235 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     year  week        day river_system    point river    section    pH    DO  \\\n",
       "0    2004     1 2004-01-05          松花江  吉林白城白沙滩   松花江  嫩江（入松花江前）  7.05  5.51   \n",
       "1    2004     1 2004-01-05          松花江  吉林长春松花江    黄河         干流  6.93  7.49   \n",
       "2    2004     1 2004-01-05          松花江    黑龙江同江   黑龙江  干流（入黑龙江前）  6.68  3.83   \n",
       "3    2004     1 2004-01-05          松花江    黑龙江肇源   松花江         干流  7.13  4.55   \n",
       "4    2004     1 2004-01-05          松花江    黑龙江黑河   昌化江      黑龙江干流  6.82  8.91   \n",
       "..    ...   ...        ...          ...      ...   ...        ...   ...   ...   \n",
       "230  2004     9 2004-03-01          松花江  吉林白城白沙滩   松花江  嫩江（入松花江前）  7.58  5.43   \n",
       "231  2004     9 2004-03-01          松花江  吉林长春松花江    黄河         干流  6.82  6.67   \n",
       "232  2004     9 2004-03-01          松花江    黑龙江同江   黑龙江  干流（入黑龙江前）  6.50  1.71   \n",
       "233  2004     9 2004-03-01          松花江    黑龙江肇源   松花江         干流  7.70  7.00   \n",
       "234  2004     9 2004-03-01          松花江    黑龙江黑河   昌化江      黑龙江干流  6.52  4.76   \n",
       "\n",
       "     CODMn  NH3_N week_now week_pre  \n",
       "0      3.6   0.37        Ⅲ        Ⅲ  \n",
       "1      2.9   0.47        Ⅱ        Ⅱ  \n",
       "2      5.2   0.78        Ⅳ        Ⅳ  \n",
       "3      7.1   0.05        Ⅳ        Ⅳ  \n",
       "4      4.7   0.20        Ⅲ      —**  \n",
       "..     ...    ...      ...      ...  \n",
       "230    2.9   0.17        Ⅲ        Ⅲ  \n",
       "231    3.9   0.41        Ⅱ        Ⅱ  \n",
       "232    2.9   0.89       劣Ⅴ       劣Ⅴ  \n",
       "233    5.5   0.10        Ⅲ        Ⅲ  \n",
       "234    4.0   0.37        Ⅳ        Ⅳ  \n",
       "\n",
       "[235 rows x 13 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "song = dt[(dt.year == 2004) & (dt.river_system == '松花江')].reset_index(drop=True)\n",
    "song"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "6d550b3d-a553-4499-9b4a-749b9f38beff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>point</th>\n",
       "      <th>pH</th>\n",
       "      <th>DO</th>\n",
       "      <th>CODMn</th>\n",
       "      <th>NH3_N</th>\n",
       "      <th>week_now</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>吉林白城白沙滩</td>\n",
       "      <td>7.05</td>\n",
       "      <td>5.51</td>\n",
       "      <td>3.6</td>\n",
       "      <td>0.37</td>\n",
       "      <td>Ⅲ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>吉林长春松花江</td>\n",
       "      <td>6.93</td>\n",
       "      <td>7.49</td>\n",
       "      <td>2.9</td>\n",
       "      <td>0.47</td>\n",
       "      <td>Ⅱ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>黑龙江同江</td>\n",
       "      <td>6.68</td>\n",
       "      <td>3.83</td>\n",
       "      <td>5.2</td>\n",
       "      <td>0.78</td>\n",
       "      <td>Ⅳ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>黑龙江肇源</td>\n",
       "      <td>7.13</td>\n",
       "      <td>4.55</td>\n",
       "      <td>7.1</td>\n",
       "      <td>0.05</td>\n",
       "      <td>Ⅳ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2004-01-05</td>\n",
       "      <td>黑龙江黑河</td>\n",
       "      <td>6.82</td>\n",
       "      <td>8.91</td>\n",
       "      <td>4.7</td>\n",
       "      <td>0.20</td>\n",
       "      <td>Ⅲ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>230</th>\n",
       "      <td>2004-03-01</td>\n",
       "      <td>吉林白城白沙滩</td>\n",
       "      <td>7.58</td>\n",
       "      <td>5.43</td>\n",
       "      <td>2.9</td>\n",
       "      <td>0.17</td>\n",
       "      <td>Ⅲ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>231</th>\n",
       "      <td>2004-03-01</td>\n",
       "      <td>吉林长春松花江</td>\n",
       "      <td>6.82</td>\n",
       "      <td>6.67</td>\n",
       "      <td>3.9</td>\n",
       "      <td>0.41</td>\n",
       "      <td>Ⅱ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>232</th>\n",
       "      <td>2004-03-01</td>\n",
       "      <td>黑龙江同江</td>\n",
       "      <td>6.50</td>\n",
       "      <td>1.71</td>\n",
       "      <td>2.9</td>\n",
       "      <td>0.89</td>\n",
       "      <td>劣Ⅴ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>233</th>\n",
       "      <td>2004-03-01</td>\n",
       "      <td>黑龙江肇源</td>\n",
       "      <td>7.70</td>\n",
       "      <td>7.00</td>\n",
       "      <td>5.5</td>\n",
       "      <td>0.10</td>\n",
       "      <td>Ⅲ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>234</th>\n",
       "      <td>2004-03-01</td>\n",
       "      <td>黑龙江黑河</td>\n",
       "      <td>6.52</td>\n",
       "      <td>4.76</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.37</td>\n",
       "      <td>Ⅳ</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>235 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           day    point    pH    DO  CODMn  NH3_N week_now\n",
       "0   2004-01-05  吉林白城白沙滩  7.05  5.51    3.6   0.37        Ⅲ\n",
       "1   2004-01-05  吉林长春松花江  6.93  7.49    2.9   0.47        Ⅱ\n",
       "2   2004-01-05    黑龙江同江  6.68  3.83    5.2   0.78        Ⅳ\n",
       "3   2004-01-05    黑龙江肇源  7.13  4.55    7.1   0.05        Ⅳ\n",
       "4   2004-01-05    黑龙江黑河  6.82  8.91    4.7   0.20        Ⅲ\n",
       "..         ...      ...   ...   ...    ...    ...      ...\n",
       "230 2004-03-01  吉林白城白沙滩  7.58  5.43    2.9   0.17        Ⅲ\n",
       "231 2004-03-01  吉林长春松花江  6.82  6.67    3.9   0.41        Ⅱ\n",
       "232 2004-03-01    黑龙江同江  6.50  1.71    2.9   0.89       劣Ⅴ\n",
       "233 2004-03-01    黑龙江肇源  7.70  7.00    5.5   0.10        Ⅲ\n",
       "234 2004-03-01    黑龙江黑河  6.52  4.76    4.0   0.37        Ⅳ\n",
       "\n",
       "[235 rows x 7 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "song = song.drop(columns=['year', 'week', 'river_system', 'river', 'section', 'week_pre'], axis=1)\n",
    "song"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "9f6bb25e-42c6-4d0e-83a2-70ae9dc76263",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['Ⅲ', 'Ⅱ', 'Ⅳ', 'Ⅴ', '劣Ⅴ'], dtype=object)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "song.week_now.unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "42e8b823-ab50-4785-8a47-9f461d3dbde5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>point</th>\n",
       "      <th>pH</th>\n",
       "      <th>DO</th>\n",
       "      <th>CODMn</th>\n",
       "      <th>NH3_N</th>\n",
       "      <th>week_now</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0 days</td>\n",
       "      <td>吉林白城白沙滩</td>\n",
       "      <td>7.05</td>\n",
       "      <td>5.51</td>\n",
       "      <td>3.6</td>\n",
       "      <td>0.37</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0 days</td>\n",
       "      <td>吉林长春松花江</td>\n",
       "      <td>6.93</td>\n",
       "      <td>7.49</td>\n",
       "      <td>2.9</td>\n",
       "      <td>0.47</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0 days</td>\n",
       "      <td>黑龙江同江</td>\n",
       "      <td>6.68</td>\n",
       "      <td>3.83</td>\n",
       "      <td>5.2</td>\n",
       "      <td>0.78</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0 days</td>\n",
       "      <td>黑龙江肇源</td>\n",
       "      <td>7.13</td>\n",
       "      <td>4.55</td>\n",
       "      <td>7.1</td>\n",
       "      <td>0.05</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0 days</td>\n",
       "      <td>黑龙江黑河</td>\n",
       "      <td>6.82</td>\n",
       "      <td>8.91</td>\n",
       "      <td>4.7</td>\n",
       "      <td>0.20</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>230</th>\n",
       "      <td>56 days</td>\n",
       "      <td>吉林白城白沙滩</td>\n",
       "      <td>7.58</td>\n",
       "      <td>5.43</td>\n",
       "      <td>2.9</td>\n",
       "      <td>0.17</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>231</th>\n",
       "      <td>56 days</td>\n",
       "      <td>吉林长春松花江</td>\n",
       "      <td>6.82</td>\n",
       "      <td>6.67</td>\n",
       "      <td>3.9</td>\n",
       "      <td>0.41</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>232</th>\n",
       "      <td>56 days</td>\n",
       "      <td>黑龙江同江</td>\n",
       "      <td>6.50</td>\n",
       "      <td>1.71</td>\n",
       "      <td>2.9</td>\n",
       "      <td>0.89</td>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>233</th>\n",
       "      <td>56 days</td>\n",
       "      <td>黑龙江肇源</td>\n",
       "      <td>7.70</td>\n",
       "      <td>7.00</td>\n",
       "      <td>5.5</td>\n",
       "      <td>0.10</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>234</th>\n",
       "      <td>56 days</td>\n",
       "      <td>黑龙江黑河</td>\n",
       "      <td>6.52</td>\n",
       "      <td>4.76</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.37</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>235 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        day    point    pH    DO  CODMn  NH3_N  week_now\n",
       "0    0 days  吉林白城白沙滩  7.05  5.51    3.6   0.37       NaN\n",
       "1    0 days  吉林长春松花江  6.93  7.49    2.9   0.47       2.0\n",
       "2    0 days    黑龙江同江  6.68  3.83    5.2   0.78       4.0\n",
       "3    0 days    黑龙江肇源  7.13  4.55    7.1   0.05       4.0\n",
       "4    0 days    黑龙江黑河  6.82  8.91    4.7   0.20       NaN\n",
       "..      ...      ...   ...   ...    ...    ...       ...\n",
       "230 56 days  吉林白城白沙滩  7.58  5.43    2.9   0.17       NaN\n",
       "231 56 days  吉林长春松花江  6.82  6.67    3.9   0.41       2.0\n",
       "232 56 days    黑龙江同江  6.50  1.71    2.9   0.89       6.0\n",
       "233 56 days    黑龙江肇源  7.70  7.00    5.5   0.10       NaN\n",
       "234 56 days    黑龙江黑河  6.52  4.76    4.0   0.37       4.0\n",
       "\n",
       "[235 rows x 7 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "week_now_map = {'III': 3, 'Ⅱ': 2, 'Ⅳ': 4, 'V': 5, '劣Ⅴ': 6}\n",
    "song['week_now'] = song['week_now'].apply(lambda x: week_now_map.get(x))\n",
    "song['day'] = song['day'].apply(lambda x: x - song['day'].min())\n",
    "song"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "782bcf35-4835-4d06-bf28-fdcbd3fae0fc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>point</th>\n",
       "      <th>pH</th>\n",
       "      <th>DO</th>\n",
       "      <th>CODMn</th>\n",
       "      <th>NH3_N</th>\n",
       "      <th>week_now</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0 days</td>\n",
       "      <td>吉林白城白沙滩</td>\n",
       "      <td>7.05</td>\n",
       "      <td>5.51</td>\n",
       "      <td>3.6</td>\n",
       "      <td>0.37</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0 days</td>\n",
       "      <td>吉林长春松花江</td>\n",
       "      <td>6.93</td>\n",
       "      <td>7.49</td>\n",
       "      <td>2.9</td>\n",
       "      <td>0.47</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0 days</td>\n",
       "      <td>黑龙江同江</td>\n",
       "      <td>6.68</td>\n",
       "      <td>3.83</td>\n",
       "      <td>5.2</td>\n",
       "      <td>0.78</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0 days</td>\n",
       "      <td>黑龙江肇源</td>\n",
       "      <td>7.13</td>\n",
       "      <td>4.55</td>\n",
       "      <td>7.1</td>\n",
       "      <td>0.05</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0 days</td>\n",
       "      <td>黑龙江黑河</td>\n",
       "      <td>6.82</td>\n",
       "      <td>8.91</td>\n",
       "      <td>4.7</td>\n",
       "      <td>0.20</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>230</th>\n",
       "      <td>56 days</td>\n",
       "      <td>吉林白城白沙滩</td>\n",
       "      <td>7.58</td>\n",
       "      <td>5.43</td>\n",
       "      <td>2.9</td>\n",
       "      <td>0.17</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>231</th>\n",
       "      <td>56 days</td>\n",
       "      <td>吉林长春松花江</td>\n",
       "      <td>6.82</td>\n",
       "      <td>6.67</td>\n",
       "      <td>3.9</td>\n",
       "      <td>0.41</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>232</th>\n",
       "      <td>56 days</td>\n",
       "      <td>黑龙江同江</td>\n",
       "      <td>6.50</td>\n",
       "      <td>1.71</td>\n",
       "      <td>2.9</td>\n",
       "      <td>0.89</td>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>233</th>\n",
       "      <td>56 days</td>\n",
       "      <td>黑龙江肇源</td>\n",
       "      <td>7.70</td>\n",
       "      <td>7.00</td>\n",
       "      <td>5.5</td>\n",
       "      <td>0.10</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>234</th>\n",
       "      <td>56 days</td>\n",
       "      <td>黑龙江黑河</td>\n",
       "      <td>6.52</td>\n",
       "      <td>4.76</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.37</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>235 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        day    point    pH    DO  CODMn  NH3_N  week_now\n",
       "0    0 days  吉林白城白沙滩  7.05  5.51    3.6   0.37       4.0\n",
       "1    0 days  吉林长春松花江  6.93  7.49    2.9   0.47       2.0\n",
       "2    0 days    黑龙江同江  6.68  3.83    5.2   0.78       4.0\n",
       "3    0 days    黑龙江肇源  7.13  4.55    7.1   0.05       4.0\n",
       "4    0 days    黑龙江黑河  6.82  8.91    4.7   0.20       4.0\n",
       "..      ...      ...   ...   ...    ...    ...       ...\n",
       "230 56 days  吉林白城白沙滩  7.58  5.43    2.9   0.17       4.0\n",
       "231 56 days  吉林长春松花江  6.82  6.67    3.9   0.41       2.0\n",
       "232 56 days    黑龙江同江  6.50  1.71    2.9   0.89       6.0\n",
       "233 56 days    黑龙江肇源  7.70  7.00    5.5   0.10       4.0\n",
       "234 56 days    黑龙江黑河  6.52  4.76    4.0   0.37       4.0\n",
       "\n",
       "[235 rows x 7 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "song['week_now'] = song['week_now'].apply(lambda x: x if not pd.isna(x) else song['week_now'].median())\n",
    "song"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "e4843cae-afaf-400b-aa75-c93b3d111df5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(               day    pH    DO  CODMn  NH3_N\n",
       " 0                0  7.05  5.51    3.6   0.37\n",
       " 1                0  6.93  7.49    2.9   0.47\n",
       " 2                0  6.68  3.83    5.2   0.78\n",
       " 3                0  7.13  4.55    7.1   0.05\n",
       " 4                0  6.82  8.91    4.7   0.20\n",
       " ..             ...   ...   ...    ...    ...\n",
       " 230  1344000000000  7.58  5.43    2.9   0.17\n",
       " 231  1344000000000  6.82  6.67    3.9   0.41\n",
       " 232  1344000000000  6.50  1.71    2.9   0.89\n",
       " 233  1344000000000  7.70  7.00    5.5   0.10\n",
       " 234  1344000000000  6.52  4.76    4.0   0.37\n",
       " \n",
       " [235 rows x 5 columns],\n",
       " 0      4.0\n",
       " 1      2.0\n",
       " 2      4.0\n",
       " 3      4.0\n",
       " 4      4.0\n",
       "       ... \n",
       " 230    4.0\n",
       " 231    2.0\n",
       " 232    6.0\n",
       " 233    4.0\n",
       " 234    4.0\n",
       " Name: week_now, Length: 235, dtype: float64)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "deal = song.drop(columns=['point'])\n",
    "deal['day'] = deal['day'].astype('int64')\n",
    "deal['day'] = deal['day'].apply(lambda x: x // 3600)\n",
    "data, label = deal.iloc[:, :-1], deal.iloc[:, -1]\n",
    "data, label"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "addcb369-f7bc-4524-9f56-3ef5cc5b5024",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((5, 235),\n",
       " array([[-8.59302128e+11, -8.59302128e+11, -8.59302128e+11, ...,\n",
       "          4.84697872e+11,  4.84697872e+11,  4.84697872e+11],\n",
       "        [-8.59302128e+11, -8.59302128e+11, -8.59302128e+11, ...,\n",
       "         -8.59302128e+11, -8.59302128e+11, -8.59302128e+11],\n",
       "        [-8.59302128e+11, -8.59302128e+11, -8.59302128e+11, ...,\n",
       "         -8.59302128e+11, -8.59302128e+11, -8.59302128e+11],\n",
       "        [-8.59302128e+11, -8.59302128e+11, -8.59302128e+11, ...,\n",
       "         -8.59302128e+11, -8.59302128e+11, -8.59302128e+11],\n",
       "        [-8.59302128e+11, -8.59302128e+11, -8.59302128e+11, ...,\n",
       "         -8.59302128e+11, -8.59302128e+11, -8.59302128e+11]]))"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cov_r = data.values.T - np.mean(data.values.T)\n",
    "cov_r.shape, cov_r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "f6c5516b-9a40-4395-99ad-50c9c7fb758f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1.84887802e+25, -2.96622281e+24, -2.96622281e+24,\n",
       "        -2.96622281e+24, -2.96622281e+24],\n",
       "       [-2.96622281e+24,  7.41555703e+23,  7.41555703e+23,\n",
       "         7.41555703e+23,  7.41555703e+23],\n",
       "       [-2.96622281e+24,  7.41555703e+23,  7.41555703e+23,\n",
       "         7.41555703e+23,  7.41555703e+23],\n",
       "       [-2.96622281e+24,  7.41555703e+23,  7.41555703e+23,\n",
       "         7.41555703e+23,  7.41555703e+23],\n",
       "       [-2.96622281e+24,  7.41555703e+23,  7.41555703e+23,\n",
       "         7.41555703e+23,  7.41555703e+23]])"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "corr_r = list() # corr rect\n",
    "for i in range(cov_r.shape[0]):\n",
    "    corr_l = list() # corr line\n",
    "    for j in range(cov_r.shape[0]):\n",
    "        corr_l.append(1 / (cov_r.shape[1] - 1) * np.sum(cov_r[i] * cov_r[j]))\n",
    "    corr_r.append(np.array(corr_l))\n",
    "np.array(corr_r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "0614c14d-e267-411b-80b5-86e6bddb3a1c",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 协方差矩阵是一个对称矩阵\n",
    "assert corr_r[0][1] == corr_r[1][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "7b403c22-f8d7-4d6f-8e59-c0797c2cf9c0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1.84887802e+25, -2.96622281e+24, -2.96622281e+24,\n",
       "        -2.96622281e+24, -2.96622281e+24],\n",
       "       [-2.96622281e+24,  7.41555703e+23,  7.41555703e+23,\n",
       "         7.41555703e+23,  7.41555703e+23],\n",
       "       [-2.96622281e+24,  7.41555703e+23,  7.41555703e+23,\n",
       "         7.41555703e+23,  7.41555703e+23],\n",
       "       [-2.96622281e+24,  7.41555703e+23,  7.41555703e+23,\n",
       "         7.41555703e+23,  7.41555703e+23],\n",
       "       [-2.96622281e+24,  7.41555703e+23,  7.41555703e+23,\n",
       "         7.41555703e+23,  7.41555703e+23]])"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "corr_matrix = np.array(corr_r)\n",
    "corr_matrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "id": "e58e7e60-ca55-4b12-87cf-afa86f2c213a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([ 2.04963990e+25   +0.j        ,  9.58604024e+23   +0.j        ,\n",
       "         1.74628149e-01+2903.57168379j,  1.74628149e-01-2903.57168379j,\n",
       "        -1.78956971e+08   +0.j        ]),\n",
       " array([[-9.47229831e-01+0.00000000e+00j,  3.20555219e-01+0.00000000e+00j,\n",
       "         -4.65369441e-14+3.75339912e-18j, -4.65369441e-14-3.75339912e-18j,\n",
       "          1.58179760e-14+0.00000000e+00j],\n",
       "        [ 1.60277609e-01+0.00000000e+00j,  4.73614915e-01+0.00000000e+00j,\n",
       "         -7.07106780e-01+0.00000000e+00j, -7.07106780e-01-0.00000000e+00j,\n",
       "         -7.07106781e-01+0.00000000e+00j],\n",
       "        [ 1.60277609e-01+0.00000000e+00j,  4.73614915e-01+0.00000000e+00j,\n",
       "          4.71404520e-01-2.80445909e-05j,  4.71404520e-01+2.80445909e-05j,\n",
       "          2.98910973e-10+0.00000000e+00j],\n",
       "        [ 1.60277609e-01+0.00000000e+00j,  4.73614915e-01+0.00000000e+00j,\n",
       "          4.71404521e-01+1.27475412e-05j,  4.71404521e-01-1.27475412e-05j,\n",
       "          7.31543076e-11+0.00000000e+00j],\n",
       "        [ 1.60277609e-01+0.00000000e+00j,  4.73614915e-01+0.00000000e+00j,\n",
       "         -2.35702262e-01+1.52970498e-05j, -2.35702262e-01-1.52970498e-05j,\n",
       "          7.07106781e-01+0.00000000e+00j]]))"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 求协方差矩阵的特征向量与特征值\n",
    "eigen_v, feture_mat = np.linalg.eig(corr_matrix)\n",
    "eigen_v, feture_mat"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "id": "06212bdd-88a4-415a-bc7d-5a1e8997c6e3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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LSupWbZsWaqrqzd6fFVVVaqqqrb5PAEAAACAUtvtGYp/bcGCBenatWuSpGXLlunfv39mzZpV3L9+/frMmjUrAwcO3BHTAwAAAAA2odlXKK5atSovvPBCcfull17KggUL0qFDhxxwwAEZM2ZMXnnlldx1111JkokTJ6Znz5750Ic+lLfeeivf/e5389BDD+UXv/hFcYz6+vqce+65OeaYYzJgwIBMnDgxq1evLr71GQAAAADYOTQ7UHzyySdz4oknFrffeZbhueeem6lTp2bp0qVZvHhxcf+aNWty6aWX5pVXXknr1q1z1FFH5Ze//GXJGGeddVZee+21jB07Ng0NDenbt29mzJixwYtaAAAAAIAdq9m3PA8aNCiFQmGDNnXq1CTJ1KlTM3v27GL9l770pbzwwgv505/+lDfeeCMPP/xwSZj4jrq6uvzud79LU1NT5s6dm5qami1eFAC8Y9KkSenRo0datWqVmpqaPPHEE5usfeaZZzJs2LD06NEjFRUVmThx4gY148ePz7HHHps2bdqkc+fOGTp0aBYuXFhSM2jQoFRUVJS0z372s1t7aQAAADvEDnmGIgBsD/fcc0/q6+szbty4zJ8/P3369MngwYPz6quvbrT+zTffTK9evXLttddu8sVgjzzySC688MI8/vjjmTlzZtauXZuTTz45q1evLqkbPXp0li5dWmzXX3/9Vl8fAADAjrBD3vIMANvDhAkTMnr06OIzeSdPnpyf/vSnmTJlSi6//PIN6o899tgce+yxSbLR/UkyY8aMku2pU6emc+fOmTdvXj7ykY8U+1u3br3JUPJvNTU1pampqbjd2NhY1nEAAAA7gisUAdgtrVmzJvPmzUttbW2xr7KyMrW1tZkzZ85W+5yVK1cmSTp06FDSf/fdd6djx4454ogjMmbMmLz55pubHGP8+PFp165dsXXv3n2rzQ8AAGBrc4UiALul119/PevWrdvgBV9dunTJc889t1U+Y/369fnCF76Qv/u7v8sRRxxR7P/nf/7nHHjggenWrVuefvrpfPnLX87ChQvzwx/+cKPjjBkzpviSs+TPVygKFQEAgJ2VQBEAttCFF16Y3/zmN/nVr35V0n/BBRcUvz7yyCPTtWvXnHTSSXnxxRdz0EEHbTBOVVVVqqqqtvl8AQAAtga3PAOwW+rYsWNatGiRZcuWlfQvW7as7Gcbbk5dXV0eeOCBPPzww/nABz6w2dqampokyQsvvPCePxcAAGBHEygCsFtq2bJl+vfvn1mzZhX71q9fn1mzZmXgwIFbPG6hUEhdXV3uu+++PPTQQ+nZs+e7HrNgwYIkSdeuXbf4cwEAAHYWbnkGYLdVX1+fc889N8ccc0wGDBiQiRMnZvXq1cW3Po8YMSL7779/xo8fn+TPL3L57W9/W/z6lVdeyYIFC7LPPvvk4IMPTvLn25ynTZuWH/3oR2nTpk0aGhqSJO3atctee+2VF198MdOmTcupp56a/fbbL08//XQuueSSfOQjH8lRRx21A74LAAAAW5dAEYDd1llnnZXXXnstY8eOTUNDQ/r27ZsZM2YUX9SyePHiVFb+5WL9JUuWpF+/fsXtG2+8MTfeeGNOOOGEzJ49O0ny7W9/O0kyaNCgks+64447ct5556Vly5b55S9/WQwvu3fvnmHDhuWKK67YtosFAADYTgSKAOzW6urqUldXt9F974SE7+jRo0cKhcJmx3u3/d27d88jjzzSrDkCAADsSjxDEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAAAAom0ARAAAAACibQBEAAAAAKJtAEQAAYBe3fPnyDB8+PG3btk379u0zatSorFq1apP1ixYtSkVFxUbbvffeW6zb2P7p06dvjyUBsBPbY0dPAAAAgPdm+PDhWbp0aWbOnJm1a9dm5MiRueCCCzJt2rSN1nfv3j1Lly4t6bvttttyww035JRTTinpv+OOOzJkyJDidvv27bf6/AHYtQgUAQAAdmHPPvtsZsyYkV//+tc55phjkiS33nprTj311Nx4443p1q3bBse0aNEi1dXVJX333XdfPvnJT2afffYp6W/fvv0GtZvT1NSUpqam4nZjY2NzlgPALsAtzwAAALuwOXPmpH379sUwMUlqa2tTWVmZuXPnljXGvHnzsmDBgowaNWqDfRdeeGE6duyYAQMGZMqUKSkUCpsda/z48WnXrl2xde/evXkLAmCnJ1AEAADYhTU0NKRz584lfXvssUc6dOiQhoaGssa4/fbbc9hhh+X4448v6b/66qvz/e9/PzNnzsywYcPyr//6r7n11ls3O9aYMWOycuXKYnv55ZebtyAAdnpueQYAANgJXX755bnuuus2W/Pss8++58/505/+lGnTpuXKK6/cYN9f9/Xr1y+rV6/ODTfckM9//vObHK+qqipVVVXveV4A7LwEigAAADuhSy+9NOedd95ma3r16pXq6uq8+uqrJf1vv/12li9fXtazD//zP/8zb775ZkaMGPGutTU1NbnmmmvS1NQkNAR4HxMoAgAA7IQ6deqUTp06vWvdwIEDs2LFisybNy/9+/dPkjz00ENZv359ampq3vX422+/PR/96EfL+qwFCxZk3333FSYCvM8JFAEAAHZhhx12WIYMGZLRo0dn8uTJWbt2berq6nL22WcX3/D8yiuv5KSTTspdd92VAQMGFI994YUX8uijj+ZnP/vZBuP+5Cc/ybJly3LcccelVatWmTlzZr7xjW/ki1/84nZbGwA7J4EiAADALu7uu+9OXV1dTjrppFRWVmbYsGG55ZZbivvXrl2bhQsX5s033yw5bsqUKfnABz6Qk08+eYMx99xzz0yaNCmXXHJJCoVCDj744EyYMCGjR4/e5usBYOcmUAQAANjFdejQIdOmTdvk/h49eqRQKGzQ/41vfCPf+MY3NnrMkCFDMmTIkK02RwB2H5U7egIAAAAAwK6j2YHio48+mtNPPz3dunVLRUVF7r///s3W//CHP8w//uM/plOnTmnbtm0GDhyYBx98sKTmqquuSkVFRUnr3bt3c6cGAAAAAGxjzQ4UV69enT59+mTSpEll1T/66KP5x3/8x/zsZz/LvHnzcuKJJ+b000/PU089VVL3oQ99KEuXLi22X/3qV82dGgAAAACwjTX7GYqnnHJKTjnllLLrJ06cWLL9jW98Iz/60Y/yk5/8JP369fvLRPbYI9XV1WWN2dTUlKampuJ2Y2Nj2fMBAAAAALbcdn+G4vr16/PHP/4xHTp0KOl//vnn061bt/Tq1SvDhw/P4sWLNznG+PHj065du2Lr3r37tp42AAAAAJAdECjeeOONWbVqVT75yU8W+2pqajJ16tTMmDEj3/72t/PSSy/l7//+7/PHP/5xo2OMGTMmK1euLLaXX355e00fAAAAAN7Xmn3L83sxbdq0fPWrX82PfvSjdO7cudj/17dQH3XUUampqcmBBx6Y73//+xk1atQG41RVVaWqqmq7zBkAAAAA+IvtFihOnz49559/fu69997U1tZutrZ9+/b54Ac/mBdeeGE7zQ4AAAAAKMd2ueX5e9/7XkaOHJnvfe97Oe200961ftWqVXnxxRfTtWvX7TA7AAAAAKBczb5CcdWqVSVXDr700ktZsGBBOnTokAMOOCBjxozJK6+8krvuuivJn29zPvfcc/PNb34zNTU1aWhoSJLstddeadeuXZLki1/8Yk4//fQceOCBWbJkScaNG5cWLVrknHPO2RprBAAAAAC2kmZfofjkk0+mX79+6devX5Kkvr4+/fr1y9ixY5MkS5cuLXlD82233Za33347F154Ybp27VpsF198cbHm97//fc4555wceuih+eQnP5n99tsvjz/+eDp16vRe1wcAAAAAbEXNvkJx0KBBKRQKm9w/derUku3Zs2e/65jTp09v7jQAAAAAgB1guzxDEQAAAADYPQgUAQAAAICyCRQBAAAAgLIJFAEAAACAsgkUAQAAAICyCRQBAAAAgLIJFAEAAACAsgkUAQAAAICyCRQBAAAAgLIJFAEAAACAsgkUAQAAAICyCRQB2K1NmjQpPXr0SKtWrVJTU5Mnnnhik7XPPPNMhg0blh49eqSioiITJ07cojHfeuutXHjhhdlvv/2yzz77ZNiwYVm2bNnWXBYAAMAOI1AEYLd1zz33pL6+PuPGjcv8+fPTp0+fDB48OK+++upG699888306tUr1157baqrq7d4zEsuuSQ/+clPcu+99+aRRx7JkiVL8vGPf3ybrBEAAGB7EygCsNuaMGFCRo8enZEjR+bwww/P5MmT07p160yZMmWj9ccee2xuuOGGnH322amqqtqiMVeuXJnbb789EyZMyD/8wz+kf//+ueOOO/LYY4/l8ccf3+iYTU1NaWxsLGkAAAA7K4EiALulNWvWZN68eamtrS32VVZWpra2NnPmzNlmY86b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AAAAUDaBIgAAAABQti0KFCdNmpQePXqkVatWqampyRNPPLHJ2kGDBqWiomKDdtpppxVrzjvvvA32DxkyZEumBgAAAABsQ3s094B77rkn9fX1mTx5cmpqajJx4sQMHjw4CxcuTOfOnTeo/+EPf5g1a9YUt99444306dMnZ555ZkndkCFDcscddxS3q6qqmjs1AAAAAGAba/YVihMmTMjo0aMzcuTIHH744Zk8eXJat26dKVOmbLS+Q4cOqa6uLraZM2emdevWGwSKVVVVJXX77rvvlq0IAAAAANhmmhUorlmzJvPmzUttbe1fBqisTG1tbebMmVPWGLfffnvOPvvs7L333iX9s2fPTufOnXPooYfmc5/7XN54441NjtHU1JTGxsaSBgAAAABse80KFF9//fWsW7cuXbp0Kenv0qVLGhoa3vX4J554Ir/5zW9y/vnnl/QPGTIkd911V2bNmpXrrrsujzzySE455ZSsW7duo+OMHz8+7dq1K7bu3bs3ZxkAAAAAwBZq9jMU34vbb789Rx55ZAYMGFDSf/bZZxe/PvLII3PUUUfloIMOyuzZs3PSSSdtMM6YMWNSX19f3G5sbBQqAgAAAMB20KwrFDt27JgWLVpk2bJlJf3Lli1LdXX1Zo9dvXp1pk+fnlGjRr3r5/Tq1SsdO3bMCy+8sNH9VVVVadu2bUkDAAAAALa9ZgWKLVu2TP/+/TNr1qxi3/r16zNr1qwMHDhws8fee++9aWpqyqc+9al3/Zzf//73eeONN9K1a9fmTA8AAAAA2Maa/Zbn+vr6fOc738mdd96ZZ599Np/73OeyevXqjBw5MkkyYsSIjBkzZoPjbr/99gwdOjT77bdfSf+qVaty2WWX5fHHH8+iRYsya9asnHHGGTn44IMzePDgLVwWAADA+8fXv/71HH/88WndunXat2//rvVr167Nl7/85Rx55JHZe++9061bt4wYMSJLliwpqevRo0cqKipK2rXXXruNVgHArqLZz1A866yz8tprr2Xs2LFpaGhI3759M2PGjOKLWhYvXpzKytKccuHChfnVr36VX/ziFxuM16JFizz99NO58847s2LFinTr1i0nn3xyrrnmmlRVVW3hsgAAAN4/1qxZkzPPPDMDBw7M7bff/q71b775ZubPn58rr7wyffr0yR/+8IdcfPHF+ehHP5onn3yypPbqq6/O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JCNGjMj++++f8ePHJ0muvvrqHHfccTn44IOzYsWK3HDDDfnd736X888/P8mf3wD9hS98IV/72tdyyCGHpGfPnrnyyivTrVu3DB06dOutFAAAAAB4z5odKJ511ll57bXXMnbs2DQ0NKRv376ZMWNG8aUqixcvTmXlXy58/MMf/pDRo0enoaEh++67b/r375/HHnsshx9+eLHmS1/6UlavXp0LLrggK1asyIc//OHMmDEjrVq12gpLBAAAAAC2li16KUtdXV3q6uo2um/27Nkl2zfffHNuvvnmzY5XUVGRq6++OldfffWWTAcAAAAA2E6a9QxFAAAAAOD9TaAIAAAAAJRNoAgAAAAAlE2gCAAAAACUTaAIAAAAAJRNoAgAAAAAlE2gCAAAAACUTaAIAACwi/v617+e448/Pq1bt0779u3LOua8885LRUVFSRsyZEhJzfLlyzN8+PC0bds27du3z6hRo7Jq1aptsAIAdiUCRQAAgF3cmjVrcuaZZ+Zzn/tcs44bMmRIli5dWmzf+973SvYPHz48zzzzTGbOnJkHHnggjz76aC644IKtOXUAdkF77OgJAAAA8N589atfTZJMnTq1WcdVVVWlurp6o/ueffbZzJgxI7/+9a9zzDHHJEluvfXWnHrqqbnxxhvTrVu39zRnAHZdrlAEAAB4n5o9e3Y6d+6cQw89NJ/73OfyxhtvFPfNmTMn7du3L4aJSVJbW5vKysrMnTt3k2M2NTWlsbGxpAGwexEoAgAAvA8NGTIkd911V2bNmpXrrrsujzzySE455ZSsW7cuSdLQ0JDOnTuXHLPHHnukQ4cOaWho2OS448ePT7t27Yqte/fu23QdAGx/AkUAAICd0OWXX77BS1P+tj333HNbPP7ZZ5+dj370oznyyCMzdOjQPPDAA/n1r3+d2bNnv6d5jxkzJitXriy2l19++T2NB8DOxzMUAQAAdkKXXnppzjvvvM3W9OrVa6t9Xq9evdKxY8e88MILOemkk1JdXZ1XX321pObtt9/O8uXLN/ncxeTPz2WsqqraavMCYOcjUAQAANgJderUKZ06ddpun/f73/8+b7zxRrp27ZokGThwYFasWJF58+alf//+SZKHHnoo69evT01NzXabFwA7H7c8AwAA7OIWL16cBQsWZPHixVm3bl0WLFiQBQsWZNWqVcWa3r1757777kuSrFq1Kpdddlkef/zxLFq0KLNmzcoZZ5yRgw8+OIMHD06SHHbYYRkyZEhGjx6dJ554Iv/93/+durq6nH322d7wDPA+5wpFAACAXdzYsWNz5513Frf79euXJHn44YczaNCgJMnChQuzcuXKJEmLFi3y9NNP584778yKFSvSrVu3nHzyybnmmmtKble+++67U1dXl5NOOimVlZUZNmxYbrnllu23MAB2SgJFAACAXdzUqVMzderUzdYUCoXi13vttVcefPDBdx23Q4cOmTZt2nudHgC7Gbc8AwAAAABlEygCAAAAAGUTKAIAAAAAZRMoAgAAAABlEygCAAAAAGUTKAIAAAAAZRMoAgAAAABlEygCAAAAAGUTKAIAAAAAZRMoAgAAAABlEygCAAAAAGUTKAIAAAAAZRMoAgAAAABlEygCAAAAAGUTKAIAAAAAZRMoAgAAAABlEygCAAAAAGUTKAIAAAAAZRMoAgAAAABlEygCAAAAAGUTKAIAAAAAZRMoAgAAAABlEygCAAAAAGUTKAIAAAAAZRMoAgAAAABlEygCAAAAAGUTKAIAAAAAZRMoAgAAAABlEygCAAAAAGUTKAIAAAAAZRMoArBbmzRpUnr06JFWrVqlpqYmTzzxxGbr77333vTu3TutWrXKkUcemZ/97GfFfWvXrs2Xv/zlHHnkkdl7773TrVu3jBgxIkuWLCkZo0ePHqmoqChp11577TZZHwAAwPYmUARgt3XPPfekvr4+48aNy/z589OnT58MHjw4r7766kbrH3vssZxzzjkZNWpUnnrqqQwdOjRDhw7Nb37zmyTJm2++mfnz5+fKK6/M/Pnz88Mf/jALFy7MRz/60Q3Guvrqq7N06dJiu+iii7bpWgEAALaXPXb0BABgW5kwYUJGjx6dkSNHJkkmT56cn/70p5kyZUouv/zyDeq/+c1vZsiQIbnsssuSJNdcc01mzpyZb33rW5k8eXLatWuXmTNnlhzzrW99KwMGDMjixYtzwAEHFPvbtGmT6urqsubZ1NSUpqam4nZjY2Oz1woAALC9uEIRgN3SmjVrMm/evNTW1hb7KisrU1tbmzlz5mz0mDlz5pTUJ8ngwYM3WZ8kK1euTEVFRdq3b1/Sf+2112a//fZLv379csMNN+Ttt9/e5Bjjx49Pu3btiq179+5lrBAAAGDHcIUiALul119/PevWrUuXLl1K+rt06ZLnnntuo8c0NDRstL6hoWGj9W+99Va+/OUv55xzzknbtm2L/Z///Odz9NFHp0OHDnnssccyZsyYLF26NBMmTNjoOGPGjEl9fX1xu7GxUagIAADstASKALAF1q5dm09+8pMpFAr59re/XbLvr8PBo446Ki1btsy//Mu/ZPz48amqqtpgrKqqqo32AwAA7Izc8gzAbqljx45p0aJFli1bVtK/bNmyTT7bsLq6uqz6d8LE3/3ud5k5c2bJ1YkbU1NTk7fffjuLFi1q/kIAAAB2MgJFAHZLLVu2TP/+/TNr1qxi3/r16zNr1qwMHDhwo8cMHDiwpD5JZs6cWVL/Tpj4/PPP55e//GX222+/d53LggULUllZmc6dO2/hagAAAHYebnkGYLdVX1+fc889N8ccc0wGDBiQiRMnZvXq1cW3Po8YMSL7779/xo8fnyS5+OKLc8IJJ+Smm27KaaedlunTp+fJJ5/MbbfdluTPYeInPvGJzJ8/Pw888EDWrVtXfL5ihw4d0rJly8yZMydz587NiSeemDZt2mTOnDm55JJL8qlPfSr77rvvjvlGAAAAbEUCRQB2W2eddVZee+21jB07Ng0NDenbt29mzJhRfPHK4sWLU1n5l4v1jz/++EybNi1XXHFFvvKVr+SQQw7J/fffnyOOOCJJ8sorr+THP/5xkqRv374ln/Xwww9n0KBBqaqqyvTp03PVVVelqakpPXv2zCWXXFLyXEUAAIBdmUARgN1aXV1d6urqNrpv9uzZG/SdeeaZOfPMMzda36NHjxQKhc1+3tFHH53HH3+82fMEAADYVXiGIgAAAABQti0KFCdNmpQePXqkVatWqampyRNPPLHJ2u985zv5+7//++y7777Zd999U1tbu0H9eeedl4qKipI2ZMiQLZkaAAAAALANNTtQvOeee1JfX59x48Zl/vz56dOnTwYPHpxXX311o/WzZ8/OOeeck4cffjhz5sxJ9+7dc/LJJ+eVV14pqRsyZEiWLl1abN/73ve2bEUAAAAAwDbT7EBxwoQJGT16dEaOHJnDDz88kydPTuvWrTNlypSN1t99993513/91/Tt2ze9e/fOd7/73axfvz6zZs0qqauqqkp1dXWxeRMmAAAAAOx8mhUorlmzJvPmzUttbe1fBqisTG1tbebMmVPWGG+++WbWrl2bDh06lPTPnj07nTt3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9u3bZ9SoUVm1atVWXxsAAMCO0OxA8Z577kl9fX3GjRuX+fPnp0+fPhk8eHBeffXVjdY/9thjOeecczJq1Kg89dRTGTp0aIYOHZrf/OY3xZrrr78+t9xySyZPnpy5c+dm7733zuDBg/PWW29t+coAeN/bUees4cOH55lnnsnMmTPzwAMP5NFHH80FF1ywzdcLAACwPVQUCoVCcw6oqanJsccem29961tJkvXr16d79+656KKLcvnll29Qf9ZZZ2X16tV54IEHin3HHXdc+vbtm8mTJ6dQKKRbt2659NJL88UvfjFJsnLlynTp0iVTp07N2WefvcGYTU1NaWpqKm6vXLkyBxxwQF5++eW0bdu2OcspccS4B7f42J3db746eIuO8z0BtrbGxsZ07949K1asSLt27bbpZ+2Ic9azzz6bww8/PL/+9a9zzDHHJElmzJiRU089Nb///e/TrVu3DT7XeY2d3c54zvTnm63lvf753p7ntV3VypUr0759+/d8XgNg22rWOa3QDE1NTYUWLVoU7rvvvpL+ESNGFD760Y9u9Jju3bsXbr755pK+sWPHFo466qhCoVAovPjii4Ukhaeeeqqk5iMf+Ujh85///EbHHDduXCGJpmmatgu3l19+uTmnoGbbUees22+/vdC+ffuS/WvXri20aNGi8MMf/nCjn+u8pmmatuu3bX1e25W9/PLLO/z/H03TNK38Vs45bY80w+uvv55169alS5cuJf1dunTJc889t9FjGhoaNlrf0NBQ3P9O36Zq/taYMWNSX19f3F6/fn2WL1+e/fbbLxUVFc1Z0g7zTurrX+n+wvdkQ74nG/I92dCu9j0pFAr54x//uNEr9bamHXXOamhoSOfOnUv277HHHunQocNufV7bFe1qf3egufwZ3z6213ltV9atW7e8/PLLadOmjfMauw0/Y9kdNeec1qxAcWdRVVWVqqqqkr727dvvmMm8R23btvXD52/4nmzI92RDvicb2pW+J24JK7U7ndd2RbvS3x3YEv6Mb3vOa5tXWVmZD3zgAzt6GrBN+BnL7qbcc1qzXsrSsWPHtGjRIsuWLSvpX7ZsWaqrqzd6THV19Wbr3/nf5owJAO9mR52zqqurN3jpy9tvv53ly5c7rwEAALuFZgWKLVu2TP/+/TNr1qxi3/r16zNr1qwMHDhwo8cMHDiwpD5JZs6cWazv2bNnqqurS2oaGxszd+7cTY4JAO9mR52zBg4cmBUrVmTevHnFmoceeijr169PTU3NVlsfAADAjtLsW57r6+tz7rnn5phjjsmAAQMyceLErF69OiNHjkySjBgxIvvvv3/Gjx+fJLn44otzwgkn5Kabbsppp52W6dOn58knn8xtt92WJKmoqMgXvvCFfO1rX8shhxySnj175sorr0y3bt0ydOjQrbfSnUxVVVXGjRu3wS1u72e+JxvyPdmQ78mGfE82bUecsw477LAMGTIko0ePzuTJk7N27drU1dXl7LPP9nytnYy/O+zu/BkH2Hb8jOX9rqJQKBSae9C3vvWt3HDDDWloaEjfvn1zyy23FK+6GDRoUHr06JGpU6cW6++9995cccUVWbRoUQ455JBcf/31OfXUU4v7C4VCxo0bl9tuuy0rVqzIhz/84fzbv/1bPvjBD773FQLwvrYjzlnLly9PXV1dfvKTn6SysjLDhg3LLbfckn322We7rRsAAGBb2aJAEQAAAAB4f2rWMxQBAAAAgPc3gSIAAAAAUDaBIgAAAABQNoHidjBo0KB84Qtf2NHTAAAAAID3TKDITmNTwevUqVPTvn377T6fbe28885LRUVFKioqsueee6ZLly75x3/8x0yZMiXr168vqX3sscdy6qmnZt99902rVq1y5JFHZsKECVm3bt0Omv27a2hoyEUXXZRevXqlqqoq3bt3z+mnn55Zs2YVa8pd1zvfp4qKiuy999455JBDct5552XevHkldbNnz05FRUX23XffvPXWWyX7fv3rXxfH2JHe+f/92muvLem///77i3N7Zx0rVqzY4PgePXpk4sSJxe1/+Zd/yUEHHZS99tornTp1yhlnnJHnnnuurLksWrQoFRUV6dy5c/74xz+W7Ovbt2+uuuqqZq0Ndja7+89Zdg/OlwDbnv8Gh61PoAg70JAhQ7J06dIsWrQoP//5z3PiiSfm4osvzj/90z/l7bffTpLcd999OeGEE/KBD3wgDz/8cJ577rlcfPHF+drXvpazzz47O+OL2hctWpT+/fvnoYceyg033JD//d//zYwZM3LiiSfmwgsvTNL8dd1xxx1ZunRpnnnmmUyaNCmrVq1KTU1N7rrrrg0+v02bNrnvvvtK+m6//fYccMAB227RzdCqVatcd911+cMf/vCex+rfv3/uuOOOPPvss3nwwQdTKBRy8sknNysE+eMf/5gbb7zxPc8Fdka7689Zdg/OlwDbj/8Gh62swFa1atWqwqc//enC3nvvXaiuri7ceOONhRNOOKFw8cUXFwqFQuGuu+4q9O/fv7DPPvsUunTpUjjnnHMKy5YtKxQKhcL69esLBx10UOGGG24oGfOpp54qJCk8//zz23s5W9UJJ5xQuPDCCwsXXnhhoW3btoX99tuvcMUVVxTWr19f3P/O9+mv3XHHHYV27dpt38luB+eee27hjDPO2KB/1qxZhSSF73znO4VVq1YV9ttvv8LHP/7xDep+/OMfF5IUpk+fvh1m2zynnHJKYf/99y+sWrVqg31/+MMfmr2uJIX77rtvg9oRI0YU2rRpU1i+fHmhUCgUHn744UKSwhVXXFGora0t1r355puFdu3aFa688srCX//Ye+fP1owZMwq9e/cu7L333oXBgwcXlixZ8l6Wv1nnnntu4Z/+6Z8KvXv3Llx22WXF/vvuu684t3fW8Yc//GGD4w888MDCzTffvMnx/+d//qeQpPDCCy+861xeeumlQpLCZZddVthnn32KP4sKhUKhT58+hXHjxpW9LtgZ7c4/Z9k9OF8CbB/+Gxy2PlcobmWXXXZZHnnkkfzoRz/KL37xi8yePTvz588v7l+7dm2uueaa/M///E/uv//+LFq0KOedd16SP9+m8pnPfCZ33HFHyZh33HFHPvKRj+Tggw/enkvZJu68887sscceeeKJJ/LNb34zEyZMyHe/+90dPa2dyj/8wz+kT58++eEPf5hf/OIXeeONN/LFL35xg7rTTz89H/zgB/O9731vB8xy05YvX54ZM2bkwgsvzN57773B/vbt22+1dV1yySX54x//mJkzZ5b0f/rTn85//dd/ZfHixUmSH/zgB+nRo0eOPvroDcZ48803c+ONN+bf//3f8+ijj2bx4sUbndfW1KJFi3zjG9/Irbfemt///vdbbdzVq1fnjjvuSM+ePdO9e/eyjzvnnHNy8MEH5+qrr95qc4Gd2a7+c5bdg/MlwPblv8Fh6xIobkWrVq3K7bffnhtvvDEnnXRSjjzyyNx5553FW6qS5DOf+UxOOeWU9OrVK8cdd1xuueWW/PznP8+qVauS/PnZDgsXLswTTzyR5M8B5LRp0/KZz3xmh6xpa+vevXtuvvnmHHrooRk+fHguuuii3HzzzcX9//Zv/5Z99tmnpH32s5/dgTPeMXr37p1Fixbl//7f/5skOeywwzZZ907NzuKFF15IoVBI7969N1mztdb1zmcsWrSopL9z58455ZRTMnXq1CTJlClTNvl3aO3atZk8eXKOOeaYHH300amrqyt5btW28rGPfSx9+/bNuHHjNlnzgQ98YIO/D+/80vfX/vrvzc9//vPMnDkzLVu2LHsu7zxP5rbbbsuLL764ReuBXc2u/HOW3YPzJcD257/BYesRKG5FL774YtasWZOamppiX4cOHXLooYcWt+fNm5fTTz89BxxwQNq0aZMTTjghSYo/oLp165bTTjstU6ZMSZL85Cc/SVNTU84888ztuJJt57jjjit5yPfAgQPz/PPPF581MXz48CxYsKCkvR//xaZQKJR8nwq70PO7mjPX97qud47f2IPjP/OZz2Tq1Kn5f//v/2XOnDkZPnz4Rsdo3bp1DjrooOJ2165d8+qrr76neZXruuuuy5133plnn312o/v/67/+a4O/D926ddugbvjw4XnqqafyyCOP5IMf/GA++clPbvCQ/XczePDgfPjDH86VV165RWuBXc2u/HOW3YPzJcCO4b/BYesQKG5Hq1evzuDBg9O2bdvcfffd+fWvf118EPaaNWuKdeeff36mT5+eP/3pT7njjjty1llnpXXr1jtq2ttVu3btcvDBB5e0zp077+hpbXfPPvtsevbsmQ9+8IPF7U3VvVOzszjkkENSUVGx2becba11vXN8z549N9h3yimn5E9/+lNGjRqV008/Pfvtt99Gx9hzzz1LtisqKrZbsPCRj3wkgwcPzpgxYza6v2fPnhv8fdhjjz02qGvXrl0OOeSQfOQjH8l//ud/5rnnntvgIfvluPbaa3PPPffkqaeeavaxsKvZlX/OsntwvgTYMfw3OGwdAsWt6KCDDsqee+6ZuXPnFvv+8Ic/FG9Fee655/LGG2/k2muvzd///d+nd+/eG/2X3VNPPTV77713vv3tb2fGjBm7ze3OSUq+N0ny+OOP55BDDsn/394dhTTZxXEc/71NZKGJjoZIUCCsOzEUBkJFYCiEGuQWRLBWA9md0gjUbiLZklQYGyIKgVeNLrrQbgRhBoJBoBcWxBiMnIjiLpyi2C5iXbz03swX5rSetb4feK7Ocw7//+A55/Dnec5MJpNBERWfaDSqT58+qbu7W21tbbJYLBobG8u5b3Z2VvF4XPfu3TMgyv9nsVjU3t6u8fFxHRwc5LSn0+lTyysYDKqqqko3b97MaSsrK5PL5dL79++L+hkaHh7Wu3fv9OHDh1MZL5vNKpvNKpPJHLuv3W7XnTt31N/ffyqxAMXqT59nURpYLwHAOOzBgZOjoHiKKisr5fF49OTJE0WjUX3+/Flut1tnzvz7M1+8eFHl5eUKh8NKJBKanZ3V0NBQzjgmk0lut1sDAwOy2WxqaWn53an8MslkUo8fP1YsFlMkElE4HFZvb6/RYRkmk8loa2tLGxsbWllZUSAQ0O3bt9XR0SGXy6WKigpNTk5qZmZGPT09Wl1d1devX/Xq1Su53W45HA7dvXvX6DRyjI+P6/v377Lb7Xr79q3i8bi+fPmiUCiklpaWgvJKp9Pa2trS2tqa5ufn5XA49Pr1a01MTKi6uvrIOIaGhpRKpdTe3v4bsi5MQ0OD7t+/r1AodOy+iURCL1680PLyspLJpJaWluR0OnX27FndunWroHj8fr+i0ahisVhB/YFiU6rzLEoD6yUAGIM9OHByue/t4kRGRka0v7+vzs5OnTt3Tj6fT7u7u5Ikq9Wq6elpDQ4OKhQKqampSaOjo+rq6soZx+PxKBAI6OHDh787hV/K5XLp8PBQdrtdJpNJvb296unpMTosw8zNzamurk5lZWWqqalRY2OjQqGQHjx48F8h2uFwaGFhQX6/X9euXdO3b99ks9n09OlT9fX1HXkektHq6+u1srIiv98vn8+nzc1NWa1WNTc3a2JiQtLx8/r5LJjNZl24cEFXr17Vx48fj/wnyp/Ky8t1/vz5X5foKXn+/LnevHlz7H5ms1mLi4sKBoPa2dlRbW2trl+/rqWlpYKPCrh8+bIePXqkqampgvoDxaZU51mUBtZLADAOe3DgZP7JcvhJUVpcXFRra6vW19dVW1trdDin4saNG7py5YqCwaDRoQAAAAAAAKBAvKFYZDKZjFKplJ49eyan01kyxUQAAAAAAACUBs5QLDKRSESXLl1SOp3Wy5cvjQ4HwB/M6/WqsrLyyMvr9RodHgAAAFBy2IPjb8EnzwBQora3t7W3t3dkW1VVVcFnvAAAAAA4Gntw/C0oKAIAAAAAAADIG588AwAAAAAAAMgbBUUAAAAAAAAAeaOgCAAAAAAAACBvFBQBAAAAAAAA5I2CIgAAAAAAAIC8UVAEAAAAAAAAkDcKigAAAAAAAADy9gMHPH5FsyO/jQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1600x800 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "array([ 2.04963990e+25   +0.j        ,  9.58604024e+23   +0.j        ,\n",
       "        1.74628149e-01+2903.57168379j,  1.74628149e-01-2903.57168379j,\n",
       "       -1.78956971e+08   +0.j        ])"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "fig, axs = plt.subplots(1, 3, figsize=(16, 8))\n",
    "# axs[0].ylim(np.min(eigen_v), np.max(eigen_v))\n",
    "axs[0].bar(data.columns, eigen_v)\n",
    "axs[1].bar(data.columns[2:-1], eigen_v[2:-1])\n",
    "axs[2].bar(data.columns[-1], eigen_v[-1])\n",
    "plt.show()\n",
    "\n",
    "eigen_v"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "id": "b1ca2c42-5c56-445a-a16c-c5934e66b507",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1.41338601e+00+0.00000000e+00j, -1.04243474e+00+0.00000000e+00j,\n",
       "        -3.68644500e-01+2.34466186e-06j],\n",
       "       [ 1.50476568e+00+0.00000000e+00j, -7.72410911e-01+0.00000000e+00j,\n",
       "         2.22979455e-02-1.87491214e-05j],\n",
       "       [ 1.47313165e+00+0.00000000e+00j, -8.65888405e-01+0.00000000e+00j,\n",
       "        -5.83215725e-02+5.07342913e-05j],\n",
       "       [ 1.42882915e+00+0.00000000e+00j, -9.96800769e-01+0.00000000e+00j,\n",
       "         1.98633224e-01+1.42839678e-05j],\n",
       "       [ 1.51984262e+00+0.00000000e+00j, -7.27859061e-01+0.00000000e+00j,\n",
       "         1.03994254e+00-4.00467538e-05j],\n",
       "       [ 9.44788950e-01+0.00000000e+00j, -5.90506962e-01+0.00000000e+00j,\n",
       "        -1.55522411e+00+7.92400316e-06j],\n",
       "       [ 8.80388363e-01+0.00000000e+00j, -7.80808519e-01+0.00000000e+00j,\n",
       "         5.49258041e-02-1.30223880e-05j],\n",
       "       [ 7.41168494e-01+0.00000000e+00j, -1.19219853e+00+0.00000000e+00j,\n",
       "        -8.88825808e-01+6.35585738e-05j],\n",
       "       [ 1.23644505e+00+0.00000000e+00j,  2.71326944e-01+0.00000000e+00j,\n",
       "        -7.33652148e-01-9.75759270e-06j],\n",
       "       [ 5.02169338e-01+0.00000000e+00j, -1.89843295e+00+0.00000000e+00j,\n",
       "         1.35326043e-01+3.82148989e-06j],\n",
       "       [ 8.70991355e-01+0.00000000e+00j, -6.04507889e-01+0.00000000e+00j,\n",
       "        -1.58381859e+00+7.56068954e-06j],\n",
       "       [ 7.34372123e-01+0.00000000e+00j, -1.00821310e+00+0.00000000e+00j,\n",
       "         6.58829891e-01-1.77649788e-05j],\n",
       "       [ 6.91501512e-01+0.00000000e+00j, -1.13489431e+00+0.00000000e+00j,\n",
       "        -8.88900056e-01+5.97868161e-05j],\n",
       "       [ 1.14861172e+00+0.00000000e+00j,  2.15850895e-01+0.00000000e+00j,\n",
       "        -2.07525376e-02+6.94505952e-06j],\n",
       "       [ 4.84042626e-01+0.00000000e+00j, -1.74792830e+00+0.00000000e+00j,\n",
       "         2.40442114e-01-7.15789350e-06j],\n",
       "       [ 1.08692985e+00+0.00000000e+00j,  2.37651541e-01+0.00000000e+00j,\n",
       "        -8.43082974e-01-2.98116367e-05j],\n",
       "       [ 7.98631826e-01+0.00000000e+00j, -6.14259380e-01+0.00000000e+00j,\n",
       "         2.80426792e-01-1.59571767e-05j],\n",
       "       [ 1.09163946e+00+0.00000000e+00j,  2.51568265e-01+0.00000000e+00j,\n",
       "        -5.20685760e-01+6.54321474e-05j],\n",
       "       [ 9.28822676e-01+0.00000000e+00j, -2.29549822e-01+0.00000000e+00j,\n",
       "        -6.17479802e-01+3.27493035e-05j],\n",
       "       [ 6.04914272e-01+0.00000000e+00j, -1.18668820e+00+0.00000000e+00j,\n",
       "         2.42878219e-01+2.19576556e-07j],\n",
       "       [ 7.26776870e-01+0.00000000e+00j, -6.22519873e-01+0.00000000e+00j,\n",
       "        -1.33182647e+00-6.93293621e-06j],\n",
       "       [ 7.46576303e-01+0.00000000e+00j, -5.64013220e-01+0.00000000e+00j,\n",
       "         3.75834098e-01-1.67851099e-05j],\n",
       "       [ 7.53404905e-01+0.00000000e+00j, -5.43834931e-01+0.00000000e+00j,\n",
       "        -1.08336109e-01+9.68247304e-06j],\n",
       "       [ 1.08362939e+00+0.00000000e+00j,  4.31967250e-01+0.00000000e+00j,\n",
       "        -3.72345679e-01-9.54048521e-06j],\n",
       "       [ 8.26376438e-01+0.00000000e+00j, -3.28206520e-01+0.00000000e+00j,\n",
       "         2.98877586e-01+1.11393593e-05j],\n",
       "       [ 6.81750967e-01+0.00000000e+00j, -5.51501424e-01+0.00000000e+00j,\n",
       "        -1.62266587e+00+2.17471047e-06j],\n",
       "       [ 8.01403506e-01+0.00000000e+00j, -1.97932217e-01+0.00000000e+00j,\n",
       "         3.06200773e-01-2.04417127e-05j],\n",
       "       [ 1.08116183e+00+0.00000000e+00j,  6.28744158e-01+0.00000000e+00j,\n",
       "        -9.79658893e-02+3.10494018e-05j],\n",
       "       [ 1.37182901e+00+0.00000000e+00j,  1.48765585e+00+0.00000000e+00j,\n",
       "        -1.37188807e+00+1.98724495e-06j],\n",
       "       [ 1.68564415e+00+0.00000000e+00j,  2.41496897e+00+0.00000000e+00j,\n",
       "         1.35687613e+00+1.21096753e-05j],\n",
       "       [ 7.47809251e-01+0.00000000e+00j, -1.52232958e-01+0.00000000e+00j,\n",
       "        -1.20989244e+00-1.38368534e-05j],\n",
       "       [ 7.41959670e-01+0.00000000e+00j, -1.69518272e-01+0.00000000e+00j,\n",
       "         2.67978188e-02-1.57543463e-05j],\n",
       "       [ 1.39848594e+00+0.00000000e+00j,  1.77049466e+00+0.00000000e+00j,\n",
       "        -1.78331770e-01+2.02361798e-05j],\n",
       "       [ 1.51193145e+00+0.00000000e+00j,  2.10572229e+00+0.00000000e+00j,\n",
       "        -1.86373680e+00+1.98937001e-05j],\n",
       "       [ 1.43935648e+00+0.00000000e+00j,  1.89126572e+00+0.00000000e+00j,\n",
       "         1.55404064e+00-2.18825001e-05j],\n",
       "       [ 6.98513485e-01+0.00000000e+00j, -9.38318089e-02+0.00000000e+00j,\n",
       "        -1.30309936e+00-8.98392086e-06j],\n",
       "       [ 5.47216865e-01+0.00000000e+00j, -5.40908205e-01+0.00000000e+00j,\n",
       "         3.05155161e-01-1.65644822e-05j],\n",
       "       [ 7.04596034e-01+0.00000000e+00j, -7.58580812e-02+0.00000000e+00j,\n",
       "         1.27100775e-01+2.69090848e-05j],\n",
       "       [ 1.15588861e+00+0.00000000e+00j,  1.25769622e+00+0.00000000e+00j,\n",
       "        -1.17139785e+00+1.48426946e-05j],\n",
       "       [ 1.09873837e+00+0.00000000e+00j,  1.08881920e+00+0.00000000e+00j,\n",
       "         1.63528600e+00-3.43012422e-05j],\n",
       "       [ 7.62881358e-01+0.00000000e+00j,  3.00441551e-01+0.00000000e+00j,\n",
       "        -2.84397214e-01+1.08444726e-05j],\n",
       "       [ 5.22056916e-01+0.00000000e+00j, -4.11186530e-01+0.00000000e+00j,\n",
       "         2.03209197e-01-1.64127093e-05j],\n",
       "       [ 4.58903889e-01+0.00000000e+00j, -5.97801590e-01+0.00000000e+00j,\n",
       "         4.16098639e-01+1.13338517e-05j],\n",
       "       [ 8.56888350e-01+0.00000000e+00j,  5.78229034e-01+0.00000000e+00j,\n",
       "        -9.50144706e-01+1.04225726e-05j],\n",
       "       [ 1.05148836e+00+0.00000000e+00j,  1.15326548e+00+0.00000000e+00j,\n",
       "         1.91049616e+00-4.10908136e-05j],\n",
       "       [ 5.72791031e-01+0.00000000e+00j, -5.72004654e-02+0.00000000e+00j,\n",
       "        -4.09633267e-01+8.70110174e-06j],\n",
       "       [ 4.06288996e-01+0.00000000e+00j, -5.49208347e-01+0.00000000e+00j,\n",
       "         2.94275634e-02-6.81378360e-07j],\n",
       "       [ 5.11733899e-01+0.00000000e+00j, -2.37622226e-01+0.00000000e+00j,\n",
       "         5.82882294e-01-3.57884703e-06j],\n",
       "       [ 1.19480534e+00+0.00000000e+00j,  1.78083077e+00+0.00000000e+00j,\n",
       "        -1.39757875e+00+4.94392971e-05j],\n",
       "       [ 1.34586581e+00+0.00000000e+00j,  2.22720935e+00+0.00000000e+00j,\n",
       "         2.62307900e+00-2.67127619e-05j],\n",
       "       [ 3.74723800e-01+0.00000000e+00j, -4.38413965e-01+0.00000000e+00j,\n",
       "        -4.74461413e-01+6.65427938e-06j],\n",
       "       [ 3.76623447e-01+0.00000000e+00j, -4.32800573e-01+0.00000000e+00j,\n",
       "         2.13467663e-01-1.29166967e-05j],\n",
       "       [ 3.44519764e-01+0.00000000e+00j, -5.27665868e-01+0.00000000e+00j,\n",
       "         6.59535982e-01-2.01612100e-05j],\n",
       "       [ 5.91307979e-01+0.00000000e+00j,  2.01584961e-01+0.00000000e+00j,\n",
       "        -7.16525597e-01+7.34012199e-06j],\n",
       "       [ 1.24268225e+00+0.00000000e+00j,  2.12637391e+00+0.00000000e+00j,\n",
       "         3.22560513e+00-2.69709750e-05j],\n",
       "       [ 1.31250323e+00+0.00000000e+00j, -1.13647148e+00+0.00000000e+00j,\n",
       "        -4.71723712e-01+3.02536574e-06j],\n",
       "       [ 1.51125159e+00+0.00000000e+00j, -5.49176790e-01+0.00000000e+00j,\n",
       "        -1.07715962e-01-2.09479818e-05j],\n",
       "       [ 1.17808276e+00+0.00000000e+00j, -1.53367942e+00+0.00000000e+00j,\n",
       "        -5.75093644e-01+4.72620663e-05j],\n",
       "       [ 1.43661069e+00+0.00000000e+00j, -7.69738137e-01+0.00000000e+00j,\n",
       "        -2.98252390e-01+1.82858171e-05j],\n",
       "       [ 1.46602031e+00+0.00000000e+00j, -6.82833680e-01+0.00000000e+00j,\n",
       "         1.01832654e+00-1.53646276e-05j],\n",
       "       [ 3.65706965e-01+0.00000000e+00j, -2.60989937e-01+0.00000000e+00j,\n",
       "        -3.94323951e-01+8.31512182e-06j],\n",
       "       [ 2.90157631e-01+0.00000000e+00j, -4.84235664e-01+0.00000000e+00j,\n",
       "         3.52627074e-01-9.19080662e-06j],\n",
       "       [ 2.03973409e-01+0.00000000e+00j, -7.38907125e-01+0.00000000e+00j,\n",
       "         1.63260790e+00+4.88775465e-06j],\n",
       "       [ 5.04047414e-01+0.00000000e+00j,  1.47801413e-01+0.00000000e+00j,\n",
       "        -2.70110754e-01+2.24311614e-05j],\n",
       "       [ 1.03590344e+00+0.00000000e+00j,  1.71941799e+00+0.00000000e+00j,\n",
       "         4.43150489e+00+4.84890327e-06j],\n",
       "       [ 1.16931648e-01+0.00000000e+00j, -7.92044115e-01+0.00000000e+00j,\n",
       "        -6.05185667e-01-5.38302627e-06j],\n",
       "       [ 4.20989471e-01+0.00000000e+00j,  1.06436470e-01+0.00000000e+00j,\n",
       "        -1.58205927e-01+5.65731546e-06j],\n",
       "       [ 2.39089397e-01+0.00000000e+00j, -4.31072097e-01+0.00000000e+00j,\n",
       "         1.69034161e+00-1.71277956e-06j],\n",
       "       [ 4.89827984e-01+0.00000000e+00j,  3.09851950e-01+0.00000000e+00j,\n",
       "         3.05191717e-01-1.30421158e-05j],\n",
       "       [ 1.11214422e+00+0.00000000e+00j,  2.14877539e+00+0.00000000e+00j,\n",
       "         3.76114806e+00+7.79235104e-06j],\n",
       "       [ 1.74945809e-01+0.00000000e+00j, -4.16545757e-01+0.00000000e+00j,\n",
       "         1.86707968e-01-1.03002657e-05j],\n",
       "       [ 2.48236497e-01+0.00000000e+00j, -1.99974254e-01+0.00000000e+00j,\n",
       "        -1.91511033e-02-9.14948252e-06j],\n",
       "       [ 2.06314842e-01+0.00000000e+00j, -3.23851328e-01+0.00000000e+00j,\n",
       "         1.48109549e+00-8.13860936e-06j],\n",
       "       [ 4.08729442e-01+0.00000000e+00j,  2.74276972e-01+0.00000000e+00j,\n",
       "         7.09675606e-01-1.98545675e-05j],\n",
       "       [ 1.05343107e+00+0.00000000e+00j,  2.17934849e+00+0.00000000e+00j,\n",
       "         3.91463107e+00+9.26415629e-06j],\n",
       "       [ 2.79283723e-01+0.00000000e+00j,  9.58377211e-02+0.00000000e+00j,\n",
       "         8.44602437e-01+1.01311036e-05j],\n",
       "       [ 1.50059767e-01+0.00000000e+00j, -2.86014701e-01+0.00000000e+00j,\n",
       "        -6.30947366e-01-5.48812229e-06j],\n",
       "       [ 1.03909369e-01+0.00000000e+00j, -4.22387566e-01+0.00000000e+00j,\n",
       "         1.93266595e+00-3.51143884e-06j],\n",
       "       [ 3.40099038e-01+0.00000000e+00j,  2.75544918e-01+0.00000000e+00j,\n",
       "         4.40527926e-01+4.48816592e-07j],\n",
       "       [ 8.03696524e-01+0.00000000e+00j,  1.64545981e+00+0.00000000e+00j,\n",
       "         2.86950157e+00-8.34287311e-06j],\n",
       "       [ 2.03251038e-01+0.00000000e+00j,  7.52321772e-02+0.00000000e+00j,\n",
       "         3.05182997e-01+7.15536306e-06j],\n",
       "       [ 1.04394845e-01+0.00000000e+00j, -2.16884528e-01+0.00000000e+00j,\n",
       "        -3.36580558e-01-8.54233982e-06j],\n",
       "       [-1.20736327e-01+0.00000000e+00j, -8.82139529e-01+0.00000000e+00j,\n",
       "         1.53494995e+00+1.71555241e-05j],\n",
       "       [ 2.98999167e-01+0.00000000e+00j,  3.58164662e-01+0.00000000e+00j,\n",
       "        -2.16690829e-01-1.73753671e-05j],\n",
       "       [ 5.81382726e-01+0.00000000e+00j,  1.19259853e+00+0.00000000e+00j,\n",
       "         2.08518494e+00-3.18559396e-05j],\n",
       "       [-2.08827006e-02+0.00000000e+00j, -3.83006969e-01+0.00000000e+00j,\n",
       "         8.08541872e-02+9.05072907e-06j],\n",
       "       [ 2.01679413e-02+0.00000000e+00j, -2.61703710e-01+0.00000000e+00j,\n",
       "        -4.79718841e-01-8.96077081e-06j],\n",
       "       [-4.57875840e-01+0.00000000e+00j, -1.67430692e+00+0.00000000e+00j,\n",
       "         8.09477718e-01+3.06237299e-05j],\n",
       "       [ 6.60473557e-01+0.00000000e+00j,  1.63037773e+00+0.00000000e+00j,\n",
       "        -1.40142575e+00+2.31590279e-06j],\n",
       "       [ 2.50858132e-01+0.00000000e+00j,  4.19978002e-01+0.00000000e+00j,\n",
       "         1.06647078e+00-4.56820172e-05j],\n",
       "       [ 1.97191966e-01+0.00000000e+00j,  4.65464766e-01+0.00000000e+00j,\n",
       "         8.10270238e-01-1.05945015e-05j],\n",
       "       [-8.71608274e-02+0.00000000e+00j, -3.74788121e-01+0.00000000e+00j,\n",
       "        -6.19359232e-01-1.44848922e-05j],\n",
       "       [-4.13201600e-01+0.00000000e+00j, -1.33822758e+00+0.00000000e+00j,\n",
       "         5.59846395e-01+2.43683865e-05j],\n",
       "       [ 1.36093132e+00+0.00000000e+00j,  3.90427519e+00+0.00000000e+00j,\n",
       "        -3.47570432e+00+7.42217663e-05j],\n",
       "       [ 1.51260884e-01+0.00000000e+00j,  3.29739973e-01+0.00000000e+00j,\n",
       "        -4.13047018e-01-4.92462472e-05j],\n",
       "       [-1.51864002e-01+0.00000000e+00j, -3.61915344e-01+0.00000000e+00j,\n",
       "        -4.80386142e-01-1.34137719e-05j],\n",
       "       [-1.47472176e-02+0.00000000e+00j,  4.32601179e-02+0.00000000e+00j,\n",
       "        -3.94979931e-01+1.02089518e-06j],\n",
       "       [-4.65882530e-01+0.00000000e+00j, -1.28982947e+00+0.00000000e+00j,\n",
       "         1.20170708e-01+3.53388969e-05j],\n",
       "       [ 1.80986412e-01+0.00000000e+00j,  6.21646373e-01+0.00000000e+00j,\n",
       "         3.80545900e-01+2.27437986e-05j],\n",
       "       [ 3.46537036e-01+0.00000000e+00j,  1.11084287e+00+0.00000000e+00j,\n",
       "         3.92203654e-01-3.39206195e-05j],\n",
       "       [-6.12701787e-01+0.00000000e+00j, -9.07401529e-01+0.00000000e+00j,\n",
       "        -1.18550363e+00+1.82780653e-05j],\n",
       "       [-4.05517517e-01+0.00000000e+00j, -2.95179017e-01+0.00000000e+00j,\n",
       "        -1.41793686e+00-1.03550666e-05j],\n",
       "       [-7.17699372e-01+0.00000000e+00j, -1.21766584e+00+0.00000000e+00j,\n",
       "         3.44590900e-01+2.68609522e-05j],\n",
       "       [-3.70513176e-01+0.00000000e+00j, -1.91742374e-01+0.00000000e+00j,\n",
       "        -7.45446457e-02+1.71039270e-05j],\n",
       "       [-7.02646102e-03+0.00000000e+00j,  8.82348577e-01+0.00000000e+00j,\n",
       "        -1.40290408e-01-3.44952086e-05j],\n",
       "       [-7.85326008e-01+0.00000000e+00j, -1.21343179e+00+0.00000000e+00j,\n",
       "        -7.65469585e-01+1.02921641e-05j],\n",
       "       [-4.25801769e-01+0.00000000e+00j, -1.51049824e-01+0.00000000e+00j,\n",
       "        -1.47241064e+00-1.62901459e-06j],\n",
       "       [-7.35055037e-01+0.00000000e+00j, -1.06488277e+00+0.00000000e+00j,\n",
       "         6.15570848e-01+3.08214261e-05j],\n",
       "       [-4.61666565e-01+0.00000000e+00j, -2.57029084e-01+0.00000000e+00j,\n",
       "         4.38074519e-01+2.81160870e-05j],\n",
       "       [-3.47982740e-01+0.00000000e+00j,  7.89027739e-02+0.00000000e+00j,\n",
       "         2.69225420e-01-3.69008010e-05j],\n",
       "       [-8.46015690e-01+0.00000000e+00j, -1.18869928e+00+0.00000000e+00j,\n",
       "        -6.05375041e-01+1.04209496e-05j],\n",
       "       [-3.21704877e-01+0.00000000e+00j,  3.60621442e-01+0.00000000e+00j,\n",
       "        -1.82890810e+00+1.69962692e-05j],\n",
       "       [-8.14776342e-01+0.00000000e+00j, -1.09638806e+00+0.00000000e+00j,\n",
       "         5.01216972e-01+1.69393796e-05j],\n",
       "       [-7.83993896e-01+0.00000000e+00j, -1.00542698e+00+0.00000000e+00j,\n",
       "         6.64236092e-01+6.38211025e-06j],\n",
       "       [-3.44425758e-01+0.00000000e+00j,  2.93482007e-01+0.00000000e+00j,\n",
       "         5.31038387e-03-4.31609577e-05j],\n",
       "       [-8.63154476e-01+0.00000000e+00j, -1.03527534e+00+0.00000000e+00j,\n",
       "        -6.26782610e-01+1.71369086e-05j],\n",
       "       [-4.42070643e-01+0.00000000e+00j,  2.09013145e-01+0.00000000e+00j,\n",
       "        -1.05740675e+00-2.67332620e-07j],\n",
       "       [-9.70844569e-01+0.00000000e+00j, -1.35349593e+00+0.00000000e+00j,\n",
       "         6.12722486e-01+2.15939182e-05j],\n",
       "       [-1.02974636e+00+0.00000000e+00j, -1.52754873e+00+0.00000000e+00j,\n",
       "         2.02057539e+00+2.54572012e-06j],\n",
       "       [-2.61320368e-01+0.00000000e+00j,  7.43124096e-01+0.00000000e+00j,\n",
       "         2.16614193e-01-4.71305142e-05j],\n",
       "       [-7.84194840e-01+0.00000000e+00j, -5.97883815e-01+0.00000000e+00j,\n",
       "        -2.70288525e-01+3.61703549e-05j],\n",
       "       [-6.41102014e-01+0.00000000e+00j, -1.75049356e-01+0.00000000e+00j,\n",
       "        -9.58366718e-01+3.53333622e-07j],\n",
       "       [-7.77409897e-01+0.00000000e+00j, -5.77834540e-01+0.00000000e+00j,\n",
       "         7.86123878e-01+6.42483431e-06j],\n",
       "       [-7.63390331e-01+0.00000000e+00j, -5.36407198e-01+0.00000000e+00j,\n",
       "         1.51231576e-01-3.52022777e-07j],\n",
       "       [-5.31262212e-01+0.00000000e+00j,  1.49523544e-01+0.00000000e+00j,\n",
       "        -1.18629440e-01-3.39107879e-05j],\n",
       "       [-9.59439179e-01+0.00000000e+00j, -9.11656442e-01+0.00000000e+00j,\n",
       "        -5.90008337e-01+2.53616674e-05j],\n",
       "       [-6.52866334e-01+0.00000000e+00j, -5.74405315e-03+0.00000000e+00j,\n",
       "        -1.20418521e+00-2.46111459e-06j],\n",
       "       [-8.07225293e-01+0.00000000e+00j, -4.61869554e-01+0.00000000e+00j,\n",
       "         6.47705469e-01+8.52249580e-06j],\n",
       "       [-7.54016545e-01+0.00000000e+00j, -3.04639506e-01+0.00000000e+00j,\n",
       "        -1.03159816e+00+2.13954172e-05j],\n",
       "       [-3.40000536e-01+0.00000000e+00j,  9.18763799e-01+0.00000000e+00j,\n",
       "         8.77282810e-02-4.05802283e-05j],\n",
       "       [-8.67142697e-01+0.00000000e+00j, -4.34854988e-01+0.00000000e+00j,\n",
       "        -6.72654824e-01+3.85310427e-05j],\n",
       "       [-7.88997614e-01+0.00000000e+00j, -2.03938909e-01+0.00000000e+00j,\n",
       "        -1.11687614e+00-1.91384678e-06j],\n",
       "       [-9.18944377e-01+0.00000000e+00j, -5.87927199e-01+0.00000000e+00j,\n",
       "         5.00329941e-01+1.43777450e-05j],\n",
       "       [-4.46137078e-01+0.00000000e+00j,  8.09202379e-01+0.00000000e+00j,\n",
       "        -3.01048586e-01+2.42185930e-06j],\n",
       "       [-4.09092430e-01+0.00000000e+00j,  9.18668061e-01+0.00000000e+00j,\n",
       "         1.17155825e+00-3.79035412e-05j],\n",
       "       [-1.00510020e+00+0.00000000e+00j, -6.38446261e-01+0.00000000e+00j,\n",
       "        -4.60252806e-01+3.07388292e-05j],\n",
       "       [-8.31633344e-01+0.00000000e+00j, -1.25857579e-01+0.00000000e+00j,\n",
       "        -7.72182699e-01+6.73329580e-06j],\n",
       "       [-9.29234242e-01+0.00000000e+00j, -4.14264932e-01+0.00000000e+00j,\n",
       "         2.10183521e-01+2.25011421e-05j],\n",
       "       [-2.45013634e-01+0.00000000e+00j,  1.60758383e+00+0.00000000e+00j,\n",
       "        -1.43348669e+00+3.85226624e-05j],\n",
       "       [-6.42813005e-01+0.00000000e+00j,  4.32100136e-01+0.00000000e+00j,\n",
       "         1.05674437e+00-4.73417852e-05j],\n",
       "       [ 1.08962564e+00+0.00000000e+00j, -1.38693028e+00+0.00000000e+00j,\n",
       "        -2.48149975e-01-1.53316385e-06j],\n",
       "       [ 1.20281024e+00+0.00000000e+00j, -1.05247359e+00+0.00000000e+00j,\n",
       "         6.36623479e-01-8.07322795e-06j],\n",
       "       [ 1.09160075e+00+0.00000000e+00j, -1.38109390e+00+0.00000000e+00j,\n",
       "        -7.41420758e-01+6.86503639e-05j],\n",
       "       [ 1.53205099e+00+0.00000000e+00j, -7.95783342e-02+0.00000000e+00j,\n",
       "         3.45908861e-01-2.13590935e-05j],\n",
       "       [ 1.04363927e+00+0.00000000e+00j, -1.52281844e+00+0.00000000e+00j,\n",
       "         4.69784497e-01-5.64529915e-06j],\n",
       "       [-1.05292250e+00+0.00000000e+00j, -3.71622606e-01+0.00000000e+00j,\n",
       "        -4.41430427e-01+2.66771050e-05j],\n",
       "       [-7.71107834e-01+0.00000000e+00j,  4.61130199e-01+0.00000000e+00j,\n",
       "         5.92056444e-02+1.00033368e-05j],\n",
       "       [-1.43351384e+00+0.00000000e+00j, -1.49625714e+00+0.00000000e+00j,\n",
       "         2.51178274e-01-1.62708929e-05j],\n",
       "       [-2.64945870e-01+0.00000000e+00j,  1.95682168e+00+0.00000000e+00j,\n",
       "        -1.53661320e+00+9.89428802e-06j],\n",
       "       [-4.41947946e-01+0.00000000e+00j,  1.43378654e+00+0.00000000e+00j,\n",
       "         7.51902692e-01-6.33624361e-05j],\n",
       "       [-1.14034003e+00+0.00000000e+00j, -4.25869979e-01+0.00000000e+00j,\n",
       "        -5.11118396e-01+1.94877604e-05j],\n",
       "       [-7.97391774e-01+0.00000000e+00j,  5.87530515e-01+0.00000000e+00j,\n",
       "        -9.80647568e-03+1.19719988e-05j],\n",
       "       [-1.55976128e+00+0.00000000e+00j, -1.66524558e+00+0.00000000e+00j,\n",
       "         2.48483244e-01-2.28712689e-05j],\n",
       "       [-6.61316041e-01+0.00000000e+00j,  9.89629705e-01+0.00000000e+00j,\n",
       "        -1.54168433e+00+1.58500340e-05j],\n",
       "       [-5.84802208e-01+0.00000000e+00j,  1.21572549e+00+0.00000000e+00j,\n",
       "         1.09071860e+00-7.15773544e-05j],\n",
       "       [-1.29294188e+00+0.00000000e+00j, -6.72734814e-01+0.00000000e+00j,\n",
       "        -7.34533198e-03-3.32727962e-06j],\n",
       "       [-8.18010379e-01+0.00000000e+00j,  7.30671707e-01+0.00000000e+00j,\n",
       "        -2.14361963e-01-1.89625450e-06j],\n",
       "       [-1.53179580e+00+0.00000000e+00j, -1.37854007e+00+0.00000000e+00j,\n",
       "         5.30581776e-01-1.85570521e-05j],\n",
       "       [-6.76987998e-02+0.00000000e+00j,  2.94781705e+00+0.00000000e+00j,\n",
       "        -2.59760338e+00+6.95434825e-05j],\n",
       "       [-5.32515535e-01+0.00000000e+00j,  1.57429931e+00+0.00000000e+00j,\n",
       "         1.41950030e+00-7.13202113e-05j],\n",
       "       [-1.11168801e+00+0.00000000e+00j,  6.69327218e-02+0.00000000e+00j,\n",
       "        -1.66830140e+00+3.66497865e-05j],\n",
       "       [-8.18809242e-01+0.00000000e+00j,  9.32379564e-01+0.00000000e+00j,\n",
       "        -3.32669760e-01+5.01734495e-06j],\n",
       "       [-1.66272894e+00+0.00000000e+00j, -1.56137461e+00+0.00000000e+00j,\n",
       "         4.00208609e-01-1.43757922e-05j],\n",
       "       [-7.35423903e-01+0.00000000e+00j,  1.17878042e+00+0.00000000e+00j,\n",
       "        -9.18862231e-01+1.29098970e-05j],\n",
       "       [-6.00380381e-01+0.00000000e+00j,  1.57782946e+00+0.00000000e+00j,\n",
       "         1.85358659e+00-7.02070134e-05j],\n",
       "       [-1.00608783e+00+0.00000000e+00j,  5.83046148e-01+0.00000000e+00j,\n",
       "        -1.58135520e+00+4.83699159e-05j],\n",
       "       [-9.60141188e-01+0.00000000e+00j,  7.18816913e-01+0.00000000e+00j,\n",
       "        -5.11230033e-01-2.67297186e-06j],\n",
       "       [-1.68545965e+00+0.00000000e+00j, -1.42447461e+00+0.00000000e+00j,\n",
       "         5.89768769e-02-1.60362579e-05j],\n",
       "       [-8.81215550e-01+0.00000000e+00j,  9.52039504e-01+0.00000000e+00j,\n",
       "        -3.62958986e-01-5.90300542e-05j],\n",
       "       [-7.06631902e-01+0.00000000e+00j,  1.46792828e+00+0.00000000e+00j,\n",
       "         2.10332642e+00-8.02523443e-05j],\n",
       "       [-1.08463116e+00+0.00000000e+00j,  5.55021737e-01+0.00000000e+00j,\n",
       "        -1.59388045e+00+4.49432420e-05j],\n",
       "       [-9.75615408e-01+0.00000000e+00j,  8.77159590e-01+0.00000000e+00j,\n",
       "        -3.54825506e-01+6.99568465e-06j],\n",
       "       [-1.72740145e+00+0.00000000e+00j, -1.34434273e+00+0.00000000e+00j,\n",
       "        -1.39957123e-01+5.86734029e-06j],\n",
       "       [-8.96291230e-01+0.00000000e+00j,  1.11155985e+00+0.00000000e+00j,\n",
       "        -5.55354431e-01-6.25533836e-05j],\n",
       "       [-7.06093857e-01+0.00000000e+00j,  1.67358666e+00+0.00000000e+00j,\n",
       "         1.57271158e+00-8.60109937e-05j],\n",
       "       [-1.20149169e+00+0.00000000e+00j,  4.13771283e-01+0.00000000e+00j,\n",
       "        -1.75534300e+00+4.02425103e-05j],\n",
       "       [-9.35260958e-01+0.00000000e+00j,  1.20047409e+00+0.00000000e+00j,\n",
       "        -6.21304759e-01+9.63179666e-06j],\n",
       "       [-1.77735949e+00+0.00000000e+00j, -1.28789858e+00+0.00000000e+00j,\n",
       "         1.04508289e-01-1.52130821e-05j],\n",
       "       [-1.21726701e+00+0.00000000e+00j,  3.67155737e-01+0.00000000e+00j,\n",
       "        -1.76119399e-01-4.12062518e-05j],\n",
       "       [-1.07333599e+00+0.00000000e+00j,  7.92467050e-01+0.00000000e+00j,\n",
       "         1.24949371e+00-6.70235868e-05j],\n",
       "       [-1.21240106e+00+0.00000000e+00j,  5.85602934e-01+0.00000000e+00j,\n",
       "        -1.47886311e+00+4.66819194e-05j],\n",
       "       [-1.04856270e+00+0.00000000e+00j,  1.06973976e+00+0.00000000e+00j,\n",
       "        -7.64954948e-02+4.84333826e-06j],\n",
       "       [-1.74593744e+00+0.00000000e+00j, -9.90979037e-01+0.00000000e+00j,\n",
       "         3.22220862e-01-4.08614392e-06j],\n",
       "       [-8.88395980e-01+0.00000000e+00j,  1.54302699e+00+0.00000000e+00j,\n",
       "        -3.34353815e-01-1.24794407e-05j],\n",
       "       [-1.03758942e+00+0.00000000e+00j,  1.10216542e+00+0.00000000e+00j,\n",
       "         1.65077203e+00-7.34173378e-05j],\n",
       "       [-1.45803792e+00+0.00000000e+00j,  6.38227995e-02+0.00000000e+00j,\n",
       "        -1.18555996e+00+2.77302095e-05j],\n",
       "       [-1.16295375e+00+0.00000000e+00j,  9.35786525e-01+0.00000000e+00j,\n",
       "        -4.17070939e-01-7.87456426e-06j],\n",
       "       [-1.73105854e+00+0.00000000e+00j, -7.42943892e-01+0.00000000e+00j,\n",
       "         4.32260674e-01-2.43986150e-05j],\n",
       "       [-4.84594743e-01+0.00000000e+00j,  2.94031446e+00+0.00000000e+00j,\n",
       "        -1.27864111e+00+7.95952964e-05j],\n",
       "       [-1.04143339e+00+0.00000000e+00j,  1.29487508e+00+0.00000000e+00j,\n",
       "         1.56389040e+00-7.08967018e-05j],\n",
       "       [-1.56581450e+00+0.00000000e+00j, -5.05848919e-02+0.00000000e+00j,\n",
       "        -1.09872415e+00+2.77945210e-05j],\n",
       "       [-1.34330734e+00+0.00000000e+00j,  6.06916260e-01+0.00000000e+00j,\n",
       "        -3.35575657e-01-1.37624830e-05j],\n",
       "       [-1.80019870e+00+0.00000000e+00j, -7.43182257e-01+0.00000000e+00j,\n",
       "        -1.23374819e-02-2.44071670e-05j],\n",
       "       [-1.42958565e+00+0.00000000e+00j,  3.51966772e-01+0.00000000e+00j,\n",
       "         3.61188587e-01+1.83134594e-05j],\n",
       "       [-9.66968191e-01+0.00000000e+00j,  1.71898570e+00+0.00000000e+00j,\n",
       "         1.06536711e+00-8.47874586e-05j],\n",
       "       [ 1.04789536e+00+0.00000000e+00j, -1.30617337e+00+0.00000000e+00j,\n",
       "        -5.29296365e-01+1.33562266e-05j],\n",
       "       [ 1.14774501e+00+0.00000000e+00j, -1.01112102e+00+0.00000000e+00j,\n",
       "         8.23615612e-01-2.26774095e-05j],\n",
       "       [ 9.88148658e-01+0.00000000e+00j, -1.48272285e+00+0.00000000e+00j,\n",
       "        -6.25298315e-01+6.44919285e-05j],\n",
       "       [ 1.46183019e+00+0.00000000e+00j, -8.30099340e-02+0.00000000e+00j,\n",
       "         2.61567413e-01-1.53059341e-05j],\n",
       "       [ 9.30464683e-01+0.00000000e+00j, -1.65317704e+00+0.00000000e+00j,\n",
       "         4.04067227e-01+6.45658316e-06j],\n",
       "       [-1.59027235e+00+0.00000000e+00j,  8.12114679e-02+0.00000000e+00j,\n",
       "        -9.65634259e-01+1.37423135e-05j],\n",
       "       [-1.25976572e+00+0.00000000e+00j,  1.05784739e+00+0.00000000e+00j,\n",
       "        -2.19283063e-01-6.87229887e-06j],\n",
       "       [-1.57588429e+00+0.00000000e+00j,  1.23727683e-01+0.00000000e+00j,\n",
       "         4.77610148e-01-7.02055144e-06j],\n",
       "       [-6.34354554e-01+0.00000000e+00j,  2.90591623e+00+0.00000000e+00j,\n",
       "        -2.61710833e-02+1.05085358e-04j],\n",
       "       [-1.06180513e+00+0.00000000e+00j,  1.64281422e+00+0.00000000e+00j,\n",
       "         7.70913763e-01-8.04912063e-05j],\n",
       "       [-1.64659721e+00+0.00000000e+00j,  1.18841892e-01+0.00000000e+00j,\n",
       "        -8.82783811e-01+1.52510063e-05j],\n",
       "       [-1.46951677e+00+0.00000000e+00j,  6.42108592e-01+0.00000000e+00j,\n",
       "        -3.73352366e-01-5.96166619e-06j],\n",
       "       [-1.62062999e+00+0.00000000e+00j,  1.95574152e-01+0.00000000e+00j,\n",
       "         3.75005837e-01+1.34673047e-06j],\n",
       "       [-1.08504368e+00+0.00000000e+00j,  1.77821358e+00+0.00000000e+00j,\n",
       "         2.29505987e+00+5.22803492e-05j],\n",
       "       [-1.39109909e+00+0.00000000e+00j,  8.73830189e-01+0.00000000e+00j,\n",
       "         1.42595630e+00-7.27820735e-05j],\n",
       "       [-1.78990460e+00+0.00000000e+00j, -1.00558130e-01+0.00000000e+00j,\n",
       "        -1.32083211e+00+6.10240783e-06j],\n",
       "       [-1.56724489e+00+0.00000000e+00j,  5.57393766e-01+0.00000000e+00j,\n",
       "        -2.39359860e-01-8.27086843e-06j],\n",
       "       [-1.66203003e+00+0.00000000e+00j,  2.77306891e-01+0.00000000e+00j,\n",
       "         3.29871337e-01+1.41571730e-05j],\n",
       "       [-1.56431984e+00+0.00000000e+00j,  5.66037194e-01+0.00000000e+00j,\n",
       "         3.18019442e-01+2.88474204e-05j],\n",
       "       [-1.50414182e+00+0.00000000e+00j,  7.43861224e-01+0.00000000e+00j,\n",
       "         1.07692167e+00-6.49718486e-05j],\n",
       "       [ 9.74723856e-01+0.00000000e+00j, -1.31832421e+00+0.00000000e+00j,\n",
       "        -4.05913041e-01+1.88482179e-05j],\n",
       "       [ 1.20087312e+00+0.00000000e+00j, -6.50060799e-01+0.00000000e+00j,\n",
       "         4.29040063e-01-3.03359172e-05j],\n",
       "       [ 1.04143930e+00+0.00000000e+00j, -1.12118233e+00+0.00000000e+00j,\n",
       "        -5.17217549e-01+7.36456613e-05j],\n",
       "       [ 1.60145534e+00+0.00000000e+00j,  5.33646136e-01+0.00000000e+00j,\n",
       "        -1.00721660e+00-1.42249221e-05j],\n",
       "       [ 7.77263105e-01+0.00000000e+00j, -1.90181405e+00+0.00000000e+00j,\n",
       "         1.24329319e-01+6.29588153e-06j],\n",
       "       [ 1.24941421e+00+0.00000000e+00j, -3.02555036e-01+0.00000000e+00j,\n",
       "        -1.28987149e+00+2.75384309e-06j],\n",
       "       [ 1.11576834e+00+0.00000000e+00j, -6.97474070e-01+0.00000000e+00j,\n",
       "         1.68438183e-03-1.00925708e-05j],\n",
       "       [ 1.01749338e+00+0.00000000e+00j, -9.87873232e-01+0.00000000e+00j,\n",
       "        -6.79790047e-01+7.99705061e-05j],\n",
       "       [ 1.40087610e+00+0.00000000e+00j,  1.45009723e-01+0.00000000e+00j,\n",
       "        -9.37106317e-02-2.61794680e-05j],\n",
       "       [ 6.40174721e-01+0.00000000e+00j, -2.10283712e+00+0.00000000e+00j,\n",
       "         5.86870203e-02-5.43835744e-07j],\n",
       "       [ 1.16045161e+00+0.00000000e+00j, -3.61368047e-01+0.00000000e+00j,\n",
       "        -1.45418560e+00+1.15768880e-06j],\n",
       "       [ 1.01471330e+00+0.00000000e+00j, -7.92019804e-01+0.00000000e+00j,\n",
       "         2.94665505e-01-9.97768548e-06j],\n",
       "       [ 9.03533538e-01+0.00000000e+00j, -1.12055225e+00+0.00000000e+00j,\n",
       "        -1.09675417e+00+7.71695257e-05j],\n",
       "       [ 1.27129386e+00+0.00000000e+00j, -3.38329388e-02+0.00000000e+00j,\n",
       "        -5.86650222e-01-1.91739751e-05j],\n",
       "       [ 6.84117516e-01+0.00000000e+00j, -1.76891918e+00+0.00000000e+00j,\n",
       "         4.42654623e-01+1.43680627e-05j],\n",
       "       [ 9.77178354e-01+0.00000000e+00j, -6.98865842e-01+0.00000000e+00j,\n",
       "        -1.30879818e+00-1.05165172e-05j],\n",
       "       [ 9.40318388e-01+0.00000000e+00j, -8.07785794e-01+0.00000000e+00j,\n",
       "         2.93306593e-01-7.44341894e-06j],\n",
       "       [ 6.80320473e-01+0.00000000e+00j, -1.57607084e+00+0.00000000e+00j,\n",
       "        -6.53632497e-01+6.93545388e-05j],\n",
       "       [ 1.25396512e+00+0.00000000e+00j,  1.19029681e-01+0.00000000e+00j,\n",
       "        -6.88343201e-01-1.92611668e-05j],\n",
       "       [ 6.76936966e-01+0.00000000e+00j, -1.58606899e+00+0.00000000e+00j,\n",
       "         5.14733183e-01+1.29560811e-05j]])"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 根据特征值大小\n",
    "target_feture = feture_mat.T[:3]\n",
    "target_feture = np.array([ x / np.linalg.norm(x) for x in target_feture ]) # 取单位向量\n",
    "# target_feture\n",
    "# 取原始数据标准化\n",
    "standard_d = np.mean(data.values, axis=0)\n",
    "sigma = np.std(data.values, axis=0)\n",
    "standard_d = (data.values - standard_d) / sigma\n",
    "# target_feture.shape, standard_d.shape\n",
    "# target_feture, target_feture.shape\n",
    "# standard_d.T, standard_d.T.shape\n",
    "# 取降维后数据\n",
    "after_pca = target_feture @ standard_d.T\n",
    "after_pca.T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "id": "8a66a65d-f5d7-482f-9bcb-32c666ea6b58",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[-1.67295929, -1.67295929, -1.67295929, ..., -1.14963758,\n",
       "        -1.14963758, -1.14963758],\n",
       "       [ 0.02840636, -0.27734145, -0.91431605, ..., -1.37293776,\n",
       "         1.68454032, -1.3219798 ],\n",
       "       [-0.41523328,  0.39663345, -1.10408989, ..., -1.97336133,\n",
       "         0.19571694, -0.72275855],\n",
       "       [-0.44340922, -0.71618714,  0.18008317, ..., -0.71618714,\n",
       "         0.296988  , -0.28753612],\n",
       "       [-0.2384779 ,  0.09831481,  1.14237219, ...,  1.51284416,\n",
       "        -1.1478182 , -0.2384779 ]])"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "standard_d.T"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
